grav-plugin-api: Grav API Privilege Escalation to Super Admin
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content, media, configuration, users, and system management. Prior to 1.0.0-beta.15, an insecure direct object reference and logic flaw in the Grav API plugin (UsersController::update) allows any authenticated user with basic API access (api.access) to modify their own permission configuration. An attacker can exploit this to escalate their privileges to Super Administrator (admin.super and api.super), leading to full system compromise and potential RCE. This vulnerability is fixed in 1.0.0-beta.15.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| getgrav | grav-plugin-api | before 1.0.0-beta.15 | 1.0.0-beta.15 | Patch available | CNA |
| — | getgrav/grav-plugin-api (Packagist) | before 1.0.0-beta.15 | 1.0.0-beta.15 | Patch available | GHSA-r945-h4vm-h736 |
- grav-plugin-api Vendorgetgrav Affected before 1.0.0-beta.15 Fixed in 1.0.0-beta.15 Patch available CNA
- getgrav/grav-plugin-api (Packagist) Vendor— Affected before 1.0.0-beta.15 Fixed in 1.0.0-beta.15 Patch available GHSA-r945-h4vm-h736
CPE configurations NVD · 14
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta1:*:*:*:*:*:* | 1.0.0 beta1 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta10:*:*:*:*:*:* | 1.0.0 beta10 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta11:*:*:*:*:*:* | 1.0.0 beta11 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta12:*:*:*:*:*:* | 1.0.0 beta12 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta13:*:*:*:*:*:* | 1.0.0 beta13 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta14:*:*:*:*:*:* | 1.0.0 beta14 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta2:*:*:*:*:*:* | 1.0.0 beta2 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta3:*:*:*:*:*:* | 1.0.0 beta3 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta4:*:*:*:*:*:* | 1.0.0 beta4 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta5:*:*:*:*:*:* | 1.0.0 beta5 | Vulnerable | getgrav |
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta1:*:*:*:*:*:* Versions 1.0.0 beta1 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta10:*:*:*:*:*:* Versions 1.0.0 beta10 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta11:*:*:*:*:*:* Versions 1.0.0 beta11 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta12:*:*:*:*:*:* Versions 1.0.0 beta12 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta13:*:*:*:*:*:* Versions 1.0.0 beta13 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta14:*:*:*:*:*:* Versions 1.0.0 beta14 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta2:*:*:*:*:*:* Versions 1.0.0 beta2 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta3:*:*:*:*:*:* Versions 1.0.0 beta3 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta4:*:*:*:*:*:* Versions 1.0.0 beta4 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta5:*:*:*:*:*:* Versions 1.0.0 beta5 Vulnerable ·getgrav
Show 4 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta6:*:*:*:*:*:* | 1.0.0 beta6 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta7:*:*:*:*:*:* | 1.0.0 beta7 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta8:*:*:*:*:*:* | 1.0.0 beta8 | Vulnerable | getgrav |
| cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta9:*:*:*:*:*:* | 1.0.0 beta9 | Vulnerable | getgrav |
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta6:*:*:*:*:*:* Versions 1.0.0 beta6 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta7:*:*:*:*:*:* Versions 1.0.0 beta7 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta8:*:*:*:*:*:* Versions 1.0.0 beta8 Vulnerable ·getgrav
- cpe:2.3:a:getgrav:grav-plugin-api:1.0.0:beta9:*:*:*:*:*:* Versions 1.0.0 beta9 Vulnerable ·getgrav
Remediation
- Fix · CNA grav-plugin-api (getgrav) Fixed in 1.0.0-beta.15
- Fix · GHSA-r945-h4vm-h736 getgrav/grav-plugin-api (Packagist) Fixed in 1.0.0-beta.15 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-42843
- 2026-10-03 Alias added: GHSA-r945-h4vm-h736
References
Sources
- CVE-2026-42843 · CVE Program
- CVE-2026-42843 · NVD
- FIRST EPSS
- GHSA-r945-h4vm-h736 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences