Description
FastapiAdmin through 3.0 contains a hard-coded JWT signing secret in backend/app/config/setting.py that allows low-privileged users to forge tokens impersonating the superuser. Attackers can register via the unauthenticated /api/v1/system/user/register endpoint, log in, and forge an HS256 token keeping their session_id but naming the superuser in user_name to gain superuser privileges.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| fastapiadmin | FastapiAdmin | ≤ 3.0 | — |
References
- https://hackmd.io/@hieuPenguinnn/fastapiadmin-unauthenticated-autologin-and-hardcoded-jwt-secret third-party-advisory
- https://github.com/fastapiadmin/FastapiAdmin/blob/v3.0/backend/app/config/setting.py#L67 technical-description
- https://github.com/fastapiadmin/FastapiAdmin/blob/v3.0/backend/app/core/dependencies.py#L72-L112 technical-description
- VulnCheck Advisory: FastapiAdmin through 3.0 Hard-Coded JWT Secret Privilege Escalation third-party-advisory