{"id":"CVE-2026-111641","kind":"vulnerability","aliases":["CVE-2026-111641"],"related":[],"title":"FastapiAdmin through 3.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to…","description":"FastapiAdmin through 3.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to obtain sessions for any user by abusing unprotected auto-login endpoints. Attackers can list users via /api/v1/auth/auto-login/users, mint a superuser auto-login token, and exchange it for a JWT session to gain full administrative control.","summary":"FastapiAdmin <= 3.0 exposes three auto-login routes with no auth dependency, in the default config. An unauthenticated attacker lists users, mints a superuser auto-login token and exchanges it for a JWT: full admin takeover. The researcher also reports a hard-coded default JWT SECRET_KEY in app/config/setting.py (separate issue). No vendor fix or advisory is known; the report was static review only, with no public PoC.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"FastapiAdmin","fixed":[],"affected":"<= 3.0","ecosystem":"pip"}],"ecosystems":[],"tags":["auth-bypass","fastapi","fastapiadmin","package","self-hosted"],"not_affected_if":["auto-login-routes-blocked","fastapiadmin-newer-than-3.0","internal-only"],"how_to_check":"Look in backend/app/api/v1/module_system/auth/controller.py for /auto-login routes without an auth dependency (GET /api/v1/auth/auto-login/users, POST /api/v1/auth/auto-login/token, POST /api/v1/auth/auto-login). In a test environment you own, check whether the routes answer without a login. Also check that SECRET_KEY is set in your deployment env and is not the default from app/config/setting.py.","fix":"No patched version confirmed. Mitigate: block /api/v1/auth/auto-login* at the reverse proxy or restrict to trusted IPs, add authorization to those routes, set a strong unique SECRET_KEY and rotate it (invalidates issued JWTs), review admin accounts and sessions. Check the project's releases for anything after 3.0 (a V3.1.0 label exists, unverified).","status":"open","published_at":"2026-10-16T18:17:44+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","triaged_at":"2026-10-23T22:05:03+00:00","updated_at":"2026-10-23T23:31:11+00:00","category":"package","confidence":0.75,"triage":{"at":"2026-10-23T22:05:03Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","impact":"high","summary":"FastapiAdmin through version 3.0 has an authentication bypass in its auto-login endpoints. An unauthenticated attacker can list users, mint a superuser auto-login token, and exchange it for a JWT, gaining full administrative control.","category":"package","who_cares":["fastapi","fastapiadmin","self-hosted"],"confidence":0.7,"needs_auth":"no","worst_case":"Unauthenticated attacker gains superuser admin control over the application","analyst_note":"Find the fixed FastapiAdmin version and whether auto-login endpoints are enabled by default, via the NVD entry or the project repository.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["fastapiadmin-newer-than-3.0"],"user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000441,"input_tokens":2786,"output_tokens":325,"severity_before":"critical"},"analyst_status":"done","analyst_note":"Find the fixed FastapiAdmin version and whether auto-login endpoints are enabled by default, via the NVD entry or the project repository.","search":"'-111641':15A,18A '-2026':14A,17A '/api/v1/auth/auto-login/users':129C '3.0':3A,30B,101C 'abus':118C 'admin':64B 'administr':147C 'advisori':86B 'allow':10A,108C 'also':68B 'app/config/setting.py':79B 'attack':12A,47B,110C,124C 'auth':21B,39B 'auth-bypass':20B 'authent':6A,104C 'auto':34B,54B,121C,134C 'auto-login':33B,53B,120C,133C 'bypass':7A,22B,105C 'code':73B 'config':44B 'contain':4A,102C 'control':148C 'cve':13A,16A 'default':43B,74B 'depend':40B 'endpoint':123C 'exchang':58B,138C 'expos':31B 'fastapi':23B 'fastapiadmin':1A,19A,24B,29B,99C 'fix':84B 'full':63B,146C 'gain':145C 'hard':72B 'hard-cod':71B 'host':28B 'issu':81B 'jwt':62B,75B,142C 'key':77B 'known':88B 'list':48B,126C 'login':35B,55B,122C,135C 'mint':50B,130C 'obtain':112C 'packag':25B 'poc':98B 'public':97B 'report':69B,90B 'research':67B 'review':93B 'rout':36B 'secret':76B 'self':27B 'self-host':26B 'separ':80B 'session':113C,143C 'static':92B 'superus':52B,132C 'takeov':65B 'three':32B 'token':56B,136C 'unauthent':11A,46B,109C 'unprotect':119C 'user':49B,116C,127C 'vendor':83B 'via':128C 'vulner':8A,106C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T18:17:44+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111641","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111641","severity":null,"published_at":"2026-10-16T18:17:44+00:00","modified_at":"2026-10-16T22:17:21+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-111641:460","url":null,"severity":null,"published_at":"2026-10-23T23:31:11+00:00","modified_at":"2026-10-23T23:31:11+00:00","first_seen_at":"2026-10-23T23:31:11+00:00","fetched_at":"2026-10-23T23:31:11+00:00","note":"Read researcher write-up (hackmd) and VulnCheck advisory: no patched version named, no vendor advisory/GHSA; auto-login routes unauthenticated by default in v3.0 (static review only, no PoC, not exploited per sources). GitHub releases page shows V3.1.0 but tagged v3.0, unverified whether it fixes this."}],"documents":[{"id":2022,"url":"https://hackmd.io/@hieuPenguinnn/fastapiadmin-unauthenticated-autologin-and-hardcoded-jwt-secret","title":"FastapiAdmin unauthenticated autologin and hardcoded JWT secret (researcher write-up)","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":2023,"url":"https://www.vulncheck.com/advisories/fastapiadmin-through-3.0-authentication-bypass-via-auto-login-endpoints","title":"VulnCheck: fastapiadmin through 3.0 auth bypass via auto-login endpoints","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}