Description
Grav API plugin before v1.0.0-rc.16 accepts JWT tokens via the ?token= URL query parameter and responds with Access-Control-Allow-Origin: *, allowing unauthenticated attackers to make fully authenticated cross-origin API requests from any malicious website. Attackers who obtain a leaked JWT token from access logs, proxy logs, browser history, or Referrer headers can create persistent backdoor super-admin accounts and exfiltrate sensitive configuration and user data.
Problem types
Use of GET Request Method With Sensitive Query Strings
Product status
Any version
Credits
nicl4ssic
References
github.com/...v/grav/security/advisories/GHSA-hqm9-5xxw-4qxp
github.com/...v/grav/security/advisories/GHSA-hqm9-5xxw-4qxp (GitHub Security Advisory (GHSA-hqm9-5xxw-4qxp))
www.vulncheck.com/...a-cors-wildcard-and-jwt-query-parameter (VulnCheck Advisory: Grav API Plugin - Cross-Origin Admin Account Takeover via CORS Wildcard and JWT Query Parameter)