Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate with api.access + api.users.write credentials
-
DeliveryEnumerate users via API to identify group-super accounts
-
ExploitSend PATCH request to target account password field
-
InstallGuard skips group-super validation
-
C2Password overwritten on super-admin account
-
ExecuteAuthenticate to Grav as super-admin
-
ImpactFull CMS administrative control achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid API caller authenticated with both api.access and api.users.write permissions assigned - these are lower-privilege roles used for delegated user management, not super-admin roles. The target account must hold super-admin status exclusively through group-inherited permissions (not directly assigned super role); accounts with directly-assigned super status may not be affected. The plugin version must be below 1.0.20. Deployments that have not provisioned any API accounts with api.users.write permission have no exposed attack surface. There is no path to unauthenticated exploitation, and exploitation is bounded to the Grav CMS user-account domain - it does not directly affect the underlying host OS or other services. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) correctly characterizes this as low-complexity network exploitation requiring only low-privilege API credentials. The high VC:H/VI:H rating is justified since successful exploitation yields super-admin credential takeover. The provided VA:H metric appears overstated - the direct action of the exploit is a password-field PATCH, which does not directly degrade availability; downstream availability impact would require a subsequent action by the attacker post-compromise, not the exploit itself. EPSS data is not available in the provided intelligence. No CISA KEV listing and no public POC have been identified, which moderates urgency compared to the raw score. Real-world risk is highest for Grav deployments that have provisioned delegated API user-managers (api.users.write) as a normal operational pattern - organizations without this delegation model have no directly exposed attack surface. The two-permission requirement (api.access + api.users.write) is a meaningful limiting factor but does not require administrator-level access, so the exposure should not be dismissed in multi-tenant or SaaS Grav environments. |
| Exploit ScenarioDerived | An attacker operating a legitimate but lower-privileged API integration account (holding api.access and api.users.write) identifies a Grav administrator whose super status comes from group membership. The attacker sends a crafted PATCH request to the user-management API endpoint targeting that account's password field; the guard bypasses the super check and accepts the modification. The attacker then authenticates to Grav with the new credentials, gaining full super-admin control over the CMS. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 05, 2026
Privilege escalation in grav-plugin-api before 1.0.20 allows authenticated API users holding api.access and api.users.write permissions to overwrite the password of super-admin accounts whose elevated status is inherited through group membership rather than direct assignment. The user-management guard fails to evaluate group-inherited super status, treating those accounts as unprotected targets. An attacker who successfully exploits this gains full Grav CMS administrative control. No public exploit code or CISA KEV listing has been identified at time of analysis, but the CVSS 4.0 score of 8.7 reflects high impact across confidentiality and integrity.
RemediationAI
Upgrade grav-plugin-api to version 1.0.20 or later, which corrects the group-inherited super permission validation in user-management guards. The fix is documented in GitHub Security Advisory GHSA-vv8m-jqpm-38x4. Where immediate patching is not possible, revoke the api.users.write permission from all non-super API accounts as a compensating control - this eliminates the attack path entirely but will break any delegated user-management workflows that depend on that permission. A secondary mitigation is to ensure that super-admin group membership is assigned only via direct super-role assignment rather than group inheritance, though this changes account management practices and may not be practical in all deployments. There are no known side effects to the upgrade beyond the corrected authorization behavior.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Grav is an open-source flat-file CMS developed by GetGrav; grav-plugin-api provides a REST API layer for programmatic management of Grav content and users. The plugin implements permission guards to restrict which API callers may modify user accounts of elevated privilege. The flaw (CWE-863 - Incorrect Authorization) occurs in those guards: when a user's super-admin status is conferred via group membership rather than direct role assignment, the guard does not resolve and evaluate the inherited privilege, effectively treating such accounts as ordinary users. As a result, an API client with the lower-privilege api.users.write permission can PATCH credential fields on group-super accounts. Affected CPE is cpe:2.3:a:getgrav:grav-plugin-api:*:*:*:*:*:*:*:* for all versions prior to 1.0.20.
Know when Grav Plugin Api gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Requires authenticated low-privilege API user (PR:L); no availability impact from the direct password-PATCH action; scope unchanged as attack stays within the CMS.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
grav-plugin-api before 1.0.20 fails to validate group-inherited super permissions in user-management guards, allowing non-super user managers to modify super-admin accounts. Attackers with api.access and api.users.write can patch password fields on group-super accounts to gain full administrative control.
Technical POC Analysis
CWE-863: Incorrect Authorization.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Grav CMS plugin-api contains a privilege escalation vulnerability allowing authenticated users with API write permissions to override super-administrator account passwords and assume full administrative control. Organizations deploying Grav CMS face risk of unauthorized system takeover and complete data compromise through compromised API credentials or insider abuse.
Restrict api.access and api.users.write permissions to only essential administrators and verify weekly; implement real-time monitoring with alerting on API calls affecting administrative accounts; disable API access entirely for non-administrator users; enforce multi-factor authentication for all CMS administrative panel access; perform daily manual verification of super-admin account passwords and permission assignments for unauthorized changes; implement network segmentation restricting API access to authorized internal networks only.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Grav Plugin Api
View allHost header injection in the Grav API plugin's forgot-password endpoint allows unauthenticated remote attackers to redir
Server-Side Request Forgery in the Grav API plugin (grav-plugin-api) for Grav CMS before 1.0.6 lets a caller holding the
Unauthenticated resource exhaustion in the Grav API plugin (grav-plugin-api) before 1.0.42 allows any remote attacker wh
Privilege escalation in Grav API Plugin (all versions before 1.0.6) allows any authenticated user holding the api.users.
Privilege escalation in grav-plugin-api before 1.0.20 allows a low-privileged API manager to self-create a super-admin a
Privilege escalation in the Grav API plugin (grav-plugin-api) before 1.0.36 allows an account that already holds the api
Permissive CORS misconfiguration in the Grav API Plugin (all versions prior to 1.0.0-rc.16) allows cross-origin JavaScri
Scope enforcement is entirely absent in the Grav API Plugin prior to 1.0.6, meaning any scoped API key silently exercise
JWT bearer token leakage in the Grav API Plugin for Grav CMS (prior to 1.0.0-rc.16) exposes valid access tokens to any p
Disabled accounts in Grav API plugin versions before 1.0.36 can continue to access API endpoints because SessionAuthenti
Stored XSS in Grav CMS's grav-plugin-api (Admin2) allows a low-privileged editor to persist malicious JavaScript in page
Stored cross-site scripting in the Grav API Plugin (all versions prior to 1.0.2) allows an authenticated attacker holdin
EUVD-2026-71995
GHSA-6rq7-cjmj-rc58
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB