DevGuard has an unauthenticated identity assertion via `X-Admin-Token` header
Critical severity
GitHub Reviewed
Published
Apr 27, 2026
in
l3montree-dev/devguard
•
Updated May 5, 2026
Description
Published to the GitHub Advisory Database
May 5, 2026
Reviewed
May 5, 2026
Last updated
May 5, 2026
Impact
The
SessionMiddlewareaccepts a client-suppliedX-Admin-TokenHTTP request header and uses its raw string value as the authenticateduserIDwhen no Kratos session cookie is present. An unauthenticated attacker who knows or can guess a target user's Kratos identity UUID can issue requests as that user. Where the target user is an organisationadminorowner, this gives the attacker full control over that organisation's DevGuard resources.Patches
The release v1.2.2 patches this issue. Update your DevGuard API Instances to this version.
Workarounds
Configure a reverse proxy to strip the
X-Admin-Tokenheader before sending requests to the DevGuard API.Resources
Fixed commit: l3montree-dev/devguard@6f38310
References