CVE-2026-112779
9.8CriticalPublished 19 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- Full C/I/A compromise
- Weakness
- CWE-770
Impact
Unauthenticated remote attackers can exhaust disk space or APCu memory by flooding the translation endpoint, causing a denial of service. Additionally, authenticated users with api.pages.write can bypass page-level permissions to overwrite translations or create unauthorized pages.
Root cause
The plugin indiscriminately caches full translation dictionaries for any requested language code without authentication and fails to validate page-level rules during sync and batch copy operations.
Affected systems
Grav API plugin (grav-plugin-api) 1.0.16 through 1.0.41 (cache exhaustion affects 1.0.40 through 1.0.41; page rule bypass affects 1.0.16 through 1.0.41).
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade grav-plugin-api to version 1.0.42 or later. If upgrading must wait, block external requests to the GET /api/v1/translations/ endpoint and restrict access to sync and batch copy endpoints at the reverse proxy or web server layer.
$ bin/gpm install apiAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD 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.