Description
Grav API plugin (grav-plugin-api) 1.0.40 before 1.0.42 caches a full translation dictionary for every well-formed language code sent to the unauthenticated GET /api/v1/translations/{lang} endpoint, and 1.0.16 before 1.0.42 fails to check target and destination page rules in the sync and batch copy endpoints. Unauthenticated attackers can send small requests that each store about 560 KB to exhaust disk or APCu, while accounts with api.pages.write can overwrite translations or create pages that page-level rules deny.
Published: 2026-10-19
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The Grav API plugin stores a complete translation dictionary in memory for every well‑formed language code received at the unauthenticated GET /api/v1/translations/{lang} endpoint. Each request can occupy roughly 560 KB of disk or APCu storage, causing a storage or memory exhaustion that can bring the API and potentially the entire Grav site offline. Additionally, older versions of the plugin ignore target and destination page rules during sync and batch copy operations; account holders with the api.pages.write permission can therefore overwrite translations or create pages in locations that page‑level rules are designed to deny, effectively bypassing authorization controls.

Affected Systems

This flaw affects Grav CMS installations that use the Grav API plugin before version 1.0.42, specifically plugin releases 1.0.16 through 1.0.41 and 1.0.40 through 1.0.41. Any site exposing the API endpoints without proper access controls is vulnerable unless the plugin is updated.

Risk and Exploitability

With a CVSS score of 9.3, the vulnerability is high severity. The denial‑of‑service vector is unauthenticated, requiring only the ability to send a small HTTP GET request to the translations endpoint. The authorization bypass requires an account that already has api.pages.write privileges; there is no evidence that the EPSS score is substantially high, but the lack of a KEV listing does not preclude targeted exploitation. Attackers who can access the API can exhaust resources quickly and/or modify critical content without consent.

Generated by OpenCVE AI on October 19, 2026 at 20:22 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the vendor’s patch by upgrading Grav API plugin to version 1.0.42 or later.
  • If an immediate update is not possible, restrict access to the /api/v1/translations/{lang} endpoint to authenticated users or disable the endpoint temporarily.
  • Limit the use of sync and batch copy features to trusted accounts, or disable them entirely until the plugin issue is resolved.

Generated by OpenCVE AI on October 19, 2026 at 20:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 19 Oct 2026 21:15:00 +0000

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

Mon, 19 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Description Grav API plugin (grav-plugin-api) 1.0.40 before 1.0.42 caches a full translation dictionary for every well-formed language code sent to the unauthenticated GET /api/v1/translations/{lang} endpoint, and 1.0.16 before 1.0.42 fails to check target and destination page rules in the sync and batch copy endpoints. Unauthenticated attackers can send small requests that each store about 560 KB to exhaust disk or APCu, while accounts with api.pages.write can overwrite translations or create pages that page-level rules deny.
Title Grav API Plugin before 1.0.42 Cache Exhaustion and Page Permission Bypass
First Time appeared Getgrav
Getgrav grav-plugin-api
Weaknesses CWE-770
CPEs cpe:2.3:a:getgrav:grav-plugin-api:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav-plugin-api
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Getgrav Grav-plugin-api
Grav Grav-plugin-api
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-19T19:10:55.987Z

Reserved: 2026-10-19T18:11:37.874Z

Link: CVE-2026-112779

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-19T20:17:55.323

Modified: 2026-10-19T21:14:14.150

Link: CVE-2026-112779

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T21:00:04Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling