Skip to main content

Grav API plugin CVE-2026-62231

| EUVDEUVD-2026-45119 HIGH
Incorrect Authorization (CWE-863)
2026-07-17 VulnCheck GHSA-q7w3-h9x7-95x7
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain restricted-scope API key
  2. Delivery
    Send write/delete/admin API request
  3. Exploit
    Authenticator loads full user account
  4. Execution
    Scope check skipped
  5. Impact
    Execute unauthorized operation

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 the attacker to possess a valid Grav API plugin key of any scope on a version before 1.0.6 - this is the PR:L authenticated prerequisite from the CVSS vector. The specific triggering condition is a deployment that relies on the plugin's scoped API key feature: any key created with a restricted scopes array (e.g. read-only) is silently promoted to the full permissions of its owning user because ApiKeyAuthenticator never enforces scopes. Limiting factors are that the attacker must first obtain a key (keys are not created by unauthenticated outsiders), the effective privileges are capped at whatever the key owner is authorized for, and environments that only ever issue full-access keys gain no additional exposure since the bug only defeats the scope restriction itself.

Impact

The vendor CVSS 4.0 score of 8.6 (High) with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N reflects a network-reachable, low-complexity flaw requiring only low privileges (a valid but restricted API key) and no user interaction, yielding high confidentiality and integrity impact with no availability impact. This is internally consistent: an attacker must already hold a working API key, so it is a privilege-escalation-within-authentication issue rather than a fully unauthenticated compromise. There is no EPSS score, no KEV listing, and no public POC in the provided data, so real-world risk hinges on how many deployments issue scoped keys to semi-trusted parties under the false assumption those scopes are enforced. The danger is that operators may have deliberately handed out read-only keys believing them safe - those keys are in fact fully privileged, making this a meaningful priority for any environment that relies on Grav API key scoping, even though widespread opportunistic exploitation is unlikely given the plugin's limited footprint.

Exploit ScenarioDerived

An organization issues a contractor a read-only Grav API key to pull content. Because ApiKeyAuthenticator ignores the scopes array and grants the owning user's full permissions, the contractor simply sends write, delete, or admin API requests with that same key and they succeed. No public POC is identified, but the attack requires only the already-issued key and ordinary HTTP requests.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 17, 2026

Authorization bypass in the Grav API plugin (getgrav/grav-plugin-api) before 1.0.6 lets any valid API key perform actions far beyond its intended scope. Although keys can be provisioned with a restricted scopes array (e.g. read-only), the ApiKeyAuthenticator class never reads or enforces those scopes and instead returns the owning user's full account object, so a limited key can execute any write, delete, or administrative operation the owner is entitled to. Reported by VulnCheck with no public exploit identified at time of analysis, but the flaw is trivially exploitable by any key holder against default configurations.

RemediationAI

Vendor-released patch: upgrade the Grav API plugin to version 1.0.6 or later, which corrects ApiKeyAuthenticator to read and enforce the key's scopes; this is the primary and complete fix per advisory GHSA-x7hm-jc32-v39j. Until the upgrade is applied, treat every existing API key as fully privileged regardless of its configured scope: revoke or rotate any keys that were issued to semi-trusted parties on the assumption of read-only or limited access, and restrict network reachability of the API endpoints (for example via firewall rules, reverse-proxy allow-lists, or IP restrictions) so only trusted callers can present a key. Note the trade-off that revoking scoped keys will break any integrations that legitimately depended on them, so coordinate rotation with API consumers. Reference the vendor advisory at https://github.com/getgrav/grav/security/advisories/GHSA-x7hm-jc32-v39j and https://www.vulncheck.com/advisories/grav-api-key-scope-bypass-via-apikeyauthenticator.

Affected VersionsENISA

grav 0 <1.0.6

Affected Packages

euvd grav fix: 1.0.6

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 the affected component is its official API plugin, which authenticates callers via API keys. The intended design supports least-privilege by attaching a scopes array to each key. The vulnerability is a CWE-863 (Incorrect Authorization) defect: the authorization decision is made against the wrong data. Specifically, ApiKeyAuthenticator resolves the key to its owning Grav user and loads that user's complete account/permission object, but it never consults the scopes array stored on the key. As a result the enforced privilege set is always the full user account rather than the narrower scope the operator configured, collapsing the distinction between a read-only key and a full-access key. The CPE cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* identifies Grav itself as the platform, though the defect lives in the separate grav-plugin-api package.

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

Vendor (VulnCheck) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Attacker needs a valid but low-scope API key (PR:L) reachable over the network (AV:N/AC:L); bypass yields full read/write on the owner's data (C:H/I:H) with no availability loss (A:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Jul 17, 2026 - 02:32 EUVD
CVE Published
Jul 17, 2026 - 00:07 cve.org
HIGH 8.6

DescriptionCVE.org

The Grav API plugin (getgrav/grav-plugin-api) before 1.0.6 contains an authorization bypass: API keys can be created with a restricted scopes array, but the ApiKeyAuthenticator class never reads or enforces these scopes. It loads and returns the owning user's full account object, so a key created with limited scopes (e.g. read-only) can perform any write, delete, or administrative operation the owning user is authorized for. Fixed in 1.0.6.

Executive ViewAI

Why It Matters

The Grav API plugin (versions before 1.0.6) contains a critical authorization bypass with no public exploit identified at time of analysis. However, any holder of a valid API key can escalate privileges to the full capabilities of the account owner, trivially exploiting the flaw. Organizations using this plugin for delegated API access face a risk of complete account compromise through compromised or malicious keys.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Without available remediation, limit API key issuance to only essential integrations and implement network-level access controls restricting API plugin use to authorized application servers. Enable comprehensive audit logging of all API requests including key identity and operations performed, and implement anomaly detection to flag requests inconsistent with each key's documented scope. Require immediate rotation of any API keys that may have been exposed or used by untrusted parties.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
optional API plugin for a niche flat-file CMS
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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 4

More in Grav

View all
CVE-2025-66294 HIGH POC
8.7 Dec 01

Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol

CVE-2025-66301 HIGH POC
8.6 Dec 01

Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their

CVE-2025-50286 HIGH POC
8.1 Aug 06

A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug

CVE-2024-34082 CRITICAL POC
9.9 May 15

Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a

CVE-2021-47812 CRITICAL POC
9.8 Jan 16

GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv

CVE-2026-65008 CRITICAL POC
9.3 Jul 21

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

CVE-2026-75827 CRITICAL POC
9.3 Aug 18

Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri

CVE-2026-75837 CRITICAL POC
9.3 Aug 18

Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm

CVE-2026-75828 CRITICAL POC
9.3 Aug 18

Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past

CVE-2025-66844 CRITICAL POC
9.1 Dec 15

Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make

CVE-2025-66299 HIGH POC
8.8 Dec 01

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

CVE-2026-72819 HIGH POC
8.7 Aug 14

Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy