Description
grav-plugin-api versions before 1.0.15 fail to validate Twig content in the translate() endpoint, allowing attackers with api.pages.write permission to persist pages with process.twig enabled. Attackers can submit crafted header and content parameters to execute server-side template injection payloads that are evaluated at render time.
Published: 2026-08-18
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a server‑side template injection in the translate() endpoint of grav‑plugin‑api. Attackers who can write pages through the API can inject arbitrary Twig code that is executed when the page is rendered, potentially allowing full code execution on the server. The weakness is identified as CWE‑1336, highlighting improper validation of template content.

Affected Systems

The flaw exists in grav‑plugin‑api versions before 1.0.15 for the Grav CMS. Users running Grav CMS with the grav-plugin‑api plugin older than version 1.0.15 are impacted. Only the translate() API endpoint is vulnerable; the impact requires that the attacker has api.pages.write permission or an equivalent capability on the site.

Risk and Exploitability

With a CVSS score of 8.6, this flaw represents a high severity vulnerability. The EPSS score is not available, and the issue is not listed in the CISA KEV catalog, yet the potential for remote code execution makes it a critical concern for exposed API endpoints. Attackers can reach the vulnerable endpoint over HTTP, and with sufficient permissions to write to pages, can persist malicious Twig templates that execute during rendering. The lack of input validation allows the injection of payloads that run server‑side and can compromise the host.

Generated by OpenCVE AI on August 18, 2026 at 12:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update grav‑plugin‑api to version 1.0.15 or newer.
  • Restrict the api.pages.write permission to only trusted administrators and review role assignments.
  • If an immediate update is not possible, disable the process.twig option for the endpoint or sanitize/validate incoming Twig content before saving to the page.

Generated by OpenCVE AI on August 18, 2026 at 12:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Description grav-plugin-api versions before 1.0.15 fail to validate Twig content in the translate() endpoint, allowing attackers with api.pages.write permission to persist pages with process.twig enabled. Attackers can submit crafted header and content parameters to execute server-side template injection payloads that are evaluated at render time.
Title grav-plugin-api before 1.0.15 Twig SSTI via translate endpoint
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-1336
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 8.6, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-18T13:36:16.104Z

Reserved: 2026-08-18T10:57:39.580Z

Link: CVE-2026-75829

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T12:19:32.827

Modified: 2026-08-18T14:18:10.580

Link: CVE-2026-75829

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T12:45:06Z

Weaknesses
  • CWE-1336

    Improper Neutralization of Special Elements Used in a Template Engine