Description
Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.0-rc.16, the Grav API plugin CorsMiddleware returns Access-Control-Allow-Origin: * and permissive OPTIONS responses for authenticated /api/v1 endpoints. JavaScript from any origin can submit an attacker-obtained JWT through the Authorization or X-API-Token header, read the authenticated response, and perform write operations with the token owner's privileges, enabling data exfiltration and account modification. This issue is fixed in version 1.0.0-rc.16.
Published: 2026-08-19
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API plugin’s CorsMiddleware erroneously returns a wildcard Access‑Control‑Allow‑Origin header and permissive OPTIONS responses for authenticated /api/v1 endpoints. This allows a script from any origin to send an attacker‑obtained JSON Web Token via the Authorization or X‑API‑Token header, read the protected data, and carry out write operations with the token holder’s privileges. The resulting uncontrolled resource sharing (CWE‑942) enables data exfiltration and account modification.

Affected Systems

The issue affects the Grav CMS API plugin product (getgrav:grav-plugin-api) versions earlier than 1.0.0‑rc.16. All installations that use those releases are vulnerable until the plugin is upgraded to 1.0.0‑rc.16 or later.

Risk and Exploitability

With a CVSS score of 8.2 the vulnerability is considered High and introduces a substantial risk to confidentiality and integrity. The exploit does not require elevated privileges on the server; it only needs a valid JWT, which can be obtained during normal authenticated API usage or via social engineering. Attackers can deliver malicious JavaScript from any website leveraging the permissive CORS policy, making the path for exploitation straightforward. The EPSS score of 0.271% indicates a very low exploitation probability, and the vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities catalog, suggesting limited evidence of active exploitation at this time. Nonetheless the combination of high CVSS and easy cross‑origin attack vector warrants prompt remediation.

Generated by OpenCVE AI on August 20, 2026 at 15:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Grav API plugin to version 1.0.0‑rc.16 or later, which removes the wildcard CORS header from authenticated endpoints.
  • If an upgrade is not immediately possible, reconfigure or patch the API middleware to disallow Access‑Control‑Allow‑Origin: * on any authenticated route, or restrict the header to a whitelist of trusted origins.
  • Periodically audit API usage and JWT handling to ensure that tokens are not exposed or reused from untrusted origins.

Generated by OpenCVE AI on August 20, 2026 at 15:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Getgrav
Getgrav grav-plugin-api
Vendors & Products Getgrav
Getgrav grav-plugin-api

Wed, 19 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Description Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.0-rc.16, the Grav API plugin CorsMiddleware returns Access-Control-Allow-Origin: * and permissive OPTIONS responses for authenticated /api/v1 endpoints. JavaScript from any origin can submit an attacker-obtained JWT through the Authorization or X-API-Token header, read the authenticated response, and perform write operations with the token owner's privileges, enabling data exfiltration and account modification. This issue is fixed in version 1.0.0-rc.16.
Title Grav API Plugin: CORS 'Access-Control-Allow-Origin: *' on Authenticated API Responses
Weaknesses CWE-942
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N'}


Subscriptions

Getgrav Grav-plugin-api
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T02:12:10.329Z

Reserved: 2026-07-16T19:20:28.987Z

Link: CVE-2026-63407

cve-icon Vulnrichment

Updated: 2026-08-25T02:11:47.334Z

cve-icon NVD

Status : Received

Published: 2026-08-19T16:18:37.863

Modified: 2026-08-25T03:16:56.260

Link: CVE-2026-63407

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T15:15:03Z

Weaknesses
  • CWE-942

    Permissive Cross-domain Security Policy with Untrusted Domains