GHSA-2g9v-7mr5-fgjg
DevGuard has an unauthenticated identity assertion via `X-Admin-Token` header
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/l3montree-dev/devguard | < 1.2.2 | 1.2.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
The `SessionMiddleware` accepts a client-supplied `X-Admin-Token` HTTP request header and uses its raw string value as the authenticated `userID` when 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 organisation `admin` or `owner`, 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-Token` header before sending requests to the DevGuard API.
### Resources
Fixed commit: https://github.com/l3montree-dev/devguard/commit/6f38310bf93b2a63df3055038f4da82b1f4e6d9a
References
External links from the advisory. They lead to third-party sites.