OSSA-2026-001: Privilege Escalation via Identity Headers in External OAuth2 Tokens

Date:

January 15, 2026

CVE:

CVE-2026-22797

Affects

  • Keystonemiddleware: >=10.5.0 <10.7.2, >=10.8.0 <10.9.1, >=10.10.0 <10.12.1

Description

Grzegorz Grasza with Red Hat reported a vulnerability in the external_oauth2_token middleware for keystonemiddleware. This middleware fails to sanitize incoming authentication headers before processing OAuth 2.0 tokens. By sending forged identity headers such as X-Is-Admin-Project, X-Roles, or X-User-Id, an authenticated attacker may escalate privileges or impersonate other users. All deployments using the external_oauth2_token middleware are affected.

Errata

The original advisory listed versions >=10.0.0 as affected based on incorrect data, the code in question was not added until 10.5.0.

Patches

Credits

  • Grzegorz Grasza from Red Hat (CVE-2026-22797)

References

Notes

  • The unmaintained/2024.1 branches will receive no new point releases, but patches for them are provided as a courtesy.

  • This bug was possible because the middleware only conditionally set certain headers (e.g., X-Is-Admin-Project was only set when the token had admin privileges), leaving spoofed values intact when conditions were not met.

  • The fix adds a call to remove_auth_headers() at the start of request processing to sanitize all incoming identity headers, matching the behavior of the main auth_token middleware.

  • The affected code was introduced in keystonemiddleware 10.5.0 during the OpenStack 2024.1 (Caracal) development cycle.

OSSA History

  • 2026-01-16 - Errata 1

  • 2026-01-15 - Original Version