Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as api.users.write manager
-
DeliveryCall createApiKey/disable2fa on super-admin
-
ExploitMint super-admin key or strip 2FA
-
ExecutionAssume super-admin session
-
ImpactFull Grav instance takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires an authenticated Grav account holding the api.users.write manager permission on an instance running grav-plugin-api before 1.0.6 with the API plugin enabled and network-reachable; the attacker then invokes the createApiKey, generate2fa, or disable2fa endpoints against a super-admin target. It does NOT require super-admin rights, user interaction, or any non-default plugin configuration, which is precisely the flaw. Limiting factors: the attacker must first possess a valid low-privilege manager credential with api.users.write (PR:L), the API plugin must be installed and exposed, and instances that never delegate manager accounts lack a realistic internal attacker to abuse it. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, base 8.7) describes a network-reachable, low-complexity attack that requires an authenticated low-privilege account and no user interaction, with high confidentiality, integrity, and availability impact on the vulnerable system. The key mitigating signal is PR:L: this is not an unauthenticated internet-wide risk but an insider or compromised-manager-credential escalation path, so real-world urgency scales with how many semi-trusted API users an instance provisions. No EPSS score, KEV listing, or POC was provided; absence of KEV means no confirmed active exploitation, and absence of EPSS leaves probabilistic exploitation likelihood unknown. Because a clean vendor patch (1.0.6) exists and the pre-conditions are modest for anyone already holding a manager token, this should be treated as a high-priority patch for multi-user Grav installations, while acknowledging the exploitation-likelihood data is incomplete. |
| Exploit ScenarioDerived | An attacker who has obtained a non-super manager account carrying the api.users.write permission (via insider access, phishing, or credential reuse) sends an authenticated API request to createApiKey specifying a super-admin account and receives a key granting full super-admin control. Alternatively they call disable2fa against a super-admin to strip that user's second factor and ease account takeover. No public exploit code was identified, but the low attack complexity and simple REST calls make weaponization straightforward for anyone with a manager token. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 17, 2026
Privilege escalation in the getgrav grav-plugin-api before 1.0.6 allows a low-privileged manager holding the api.users.write permission to become a super-admin. The createApiKey, generate2fa, and disable2fa endpoints never re-check super-admin status, so an attacker can mint API keys bound to super-admin accounts or strip 2FA from super-admin users and take over the entire Grav instance. No public exploit identified at time of analysis, but the vendor GHSA advisory and VulnCheck confirm the flaw.
RemediationAI
Upgrade grav-plugin-api to version 1.0.6 or later, which adds the missing super-admin validation to the createApiKey, generate2fa, and disable2fa endpoints (Vendor-released patch: 1.0.6); see https://github.com/getgrav/grav/security/advisories/GHSA-8gg4-rvvv-cq96. If immediate patching is not possible, reduce exposure by revoking or tightly minimizing the api.users.write permission so only fully trusted super-admins hold it, since that capability is the required foothold; the trade-off is that legitimate delegated user-management via the API will stop working. As additional compensating controls, restrict network access to the API plugin endpoints (for example via a reverse-proxy allowlist or firewall) and audit existing API keys and super-admin 2FA settings for unexpected changes, accepting that this constrains legitimate remote API usage. Do not rely on these workarounds long-term - apply the 1.0.6 update.
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 a flat-file PHP CMS, and grav-plugin-api exposes a REST API for administrative operations gated by granular permissions such as api.users.write. The vulnerability is CWE-639 (Authorization Bypass Through User-Controlled Key / broken object-level authorization): the createApiKey, generate2fa, and disable2fa handlers perform the api.users.write capability check but omit the additional super-admin check needed when the target of the operation is itself a super-admin account. This missing vertical-authorization gate lets a manager permitted to edit ordinary users operate on privileged users, collapsing the intended trust boundary between managers and super-admins. The affected component is identified by CPE cpe:2.3:a:getgrav:grav.
Know when Grav 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
Network REST endpoints (AV:N) with simple calls (AC:L) but requiring a real api.users.write manager account (PR:L); super-admin takeover yields full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
grav-plugin-api before 1.0.6 fails to validate super-admin status in createApiKey, generate2fa, and disable2fa endpoints, allowing non-super api.users.write managers to escalate to super-admin. Attackers can mint API keys bound to super-admin accounts or strip 2FA from super-admin users to achieve full instance takeover.
Executive ViewAI
Grav CMS instances using grav-plugin-api before version 1.0.6 are vulnerable to privilege escalation that allows low-privileged API managers to gain super-admin access and completely compromise the system. An attacker with existing api.users.write permission can create administrative API keys or disable two-factor authentication to take full control of the CMS. No patch is currently available, requiring immediate interim protective measures.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict api.users.write permission to only essential, highly-trusted administrators; (2) disable grav-plugin-api if not actively required; (3) implement network-level access controls limiting API endpoint access to trusted sources only; (4) enable comprehensive audit logging for API key generation and 2FA modifications to detect exploitation attempts.
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
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Related Vulnerabilities in Grav API Plugin Authorization and Credential Exposure
View all 4Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol
Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their
A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug
Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a
GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv
Remote code execution in Grav CMS 2.0.4 (fixed in 2.0.7) lets an authenticated user holding the admin.pages or api.pages
Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri
Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm
Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past
Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S
Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary
EUVD-2026-45121
GHSA-qrm9-ppgh-qwm9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB