# CVE-2026-112779: Grav API plugin cache exhaustion and authorization bypass

Source: https://junglewise.ai/threats/cve-2026-112779-grav-api-plugin-grav-plugin-api-1-0-40-before-1-0-42-caches-a  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-19. Updated: 2026-10-19  
License: CC BY 4.0 with a link back

CVE-2026-112779 · Severity: critical · CVSS 9.8 · Published 2026-10-19

Grav's API plugin has two vulnerabilities affecting a widely-used content management system. Unauthenticated attackers can send small requests to the translation endpoint that each cache about 560 KB of data, allowing them to fill disk storage or memory and crash the site. Additionally, accounts with API write permissions can bypass page-level access controls to overwrite translations or create pages where they should be denied.

Vendors: [Grav](https://junglewise.ai/threats/vendors/grav).

## Quick answers

**Is CVE-2026-112779 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-112779 being exploited in the wild.

**How severe is CVE-2026-112779?** Critical severity, with a CVSS score of 9.8, published 19 October 2026.

**Which products and versions are affected?** Grav-Plugin-Api 1.0.16 through 1.0.41; 1.0.40 and 1.0.41 for the translations cache specifically.

**Is there a fix for CVE-2026-112779?** Yes: fixed in grav-plugin-api 1.0.42. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-112779 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-112779?** Check whether you run Grav-Plugin-Api at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in grav-plugin-api 1.0.42

## Technical details

The GET /api/v1/translations/{lang} endpoint caches a full translation dictionary for any well-formed language code without size limits or authentication checks, enabling resource exhaustion via repeated requests (CWE-770). The POST /api/v1/pages/{route}/sync and POST /api/v1/pages/batch endpoints fail to properly validate permissions on target or destination pages, allowing accounts with api.pages.write to bypass page-level rules (CWE-863). The fix in version 1.0.42 filters cache entries, validates target/destination permissions, and restricts caching to requests for languages with actual translation files.

## Affected products

- Grav grav-plugin-api 1.0.16 through 1.0.41; 1.0.40 and 1.0.41 for the translations cache specifically

## Timeline

- 2026-10-04: advisory: GitHub Security Advisory GHSA-8pcm-97fc-4xwh published

## References

- [https://github.com/getgrav/grav/security/advisories/GHSA-8pcm-97fc-4xwh](https://github.com/getgrav/grav/security/advisories/GHSA-8pcm-97fc-4xwh)
- [https://www.vulncheck.com/advisories/grav-api-plugin-before-1.0.42-cache-exhaustion-and-page-permission-bypass](https://www.vulncheck.com/advisories/grav-api-plugin-before-1.0.42-cache-exhaustion-and-page-permission-bypass)
