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
Share

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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
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
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jul 17, 2026 - 02:32 EUVD
Analysis Generated
Jul 17, 2026 - 00:54 vuln.today
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.

AnalysisAI

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.

Technical ContextAI

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.

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.

More in Grav

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

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, a Server-Side Template Injection (SSTI) vulnerability exists

CVE-2025-66301 CRITICAL POC
9.6 Dec 01

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, due to improper authorization checks when modifying critical

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-2025-66297 HIGH POC
8.8 Dec 01

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, a user with admin panel access and permissions to create or e

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-2024-28119 HIGH POC
8.8 Mar 21

Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot

CVE-2024-28118 HIGH POC
8.8 Mar 21

Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot

CVE-2024-28117 HIGH POC
8.8 Mar 21

Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot

CVE-2024-28116 HIGH POC
8.8 Mar 21

Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot

CVE-2024-27921 HIGH POC
8.8 Mar 21

Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot

Share

CVE-2026-62231 vulnerability details – vuln.today

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