Skip to main content

Grav Git Sync EUVDEUVD-2026-97620

| CVE-2026-109318 HIGH
OS Command Injection (CWE-78)
2026-10-12 VulnCheck GHSA-cp28-795p-j89g
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain authenticated content-editor account
  2. Delivery
    Inject shell substitution into profile field
  3. Exploit
    Trigger git commit --author via plugin
  4. Execution
    Payload reaches PHP exec()
  5. Impact
    Execute OS commands as web-server user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the Git Sync plugin's 'gravuser' or 'gravfull' author mode to be explicitly enabled - not the default posture - and an authenticated account with content-editor privileges able to modify profile fields (username, full name, or email). The limiting factors are therefore twofold: valid authenticated access (PR:L) and the specific author-mode configuration; sites running Git Sync without author mode enabled, or without editor accounts exposed to untrusted users, are not exploitable. No user interaction by a victim is required once the attacker has editor access.

Impact

This is a credible, prioritizable vulnerability but not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) describes a network-reachable, low-complexity attack requiring only low privileges and no user interaction, with full High impact to confidentiality, integrity, and availability (VC:H/VI:H/VA:H) - consistent with CWE-78 OS command injection yielding code execution as the web-server account. The PR:L metric aligns with the description's requirement for an authenticated content editor, so this is authenticated, not a pre-auth internet-wide threat. Exploitation status is 'no public exploit identified at time of analysis': the input provides no KEV listing and no POC flag, so there is no evidence of active exploitation or published exploit code. No EPSS score was supplied, so exploitation probability cannot be quantified from the data. There is one important conditional constraint the raw CVSS does not capture: exploitation only works when the 'gravuser' or 'gravfull' author mode is enabled - a non-default-dependent configuration that materially narrows the real exploitable population. Net: treat as a high-severity, patch-promptly issue for organizations running the Git Sync plugin in author-mode configurations, but the authentication requirement and config dependency reduce real-world urgency relative to the 8.7 headline score.

Exploit ScenarioDerived

An attacker who holds (or phishes/obtains) a low-privilege Grav content-editor account on a site running Git Sync in gravuser/gravfull author mode edits their profile and embeds a shell substitution (e.g. $(...) or backticks) into the username, full name, or email field. When the plugin builds a 'git commit --author' call and passes it to PHP exec(), the injected command runs as the web-server user, giving the attacker arbitrary OS command execution on the host. No public exploit code is identified at time of analysis, but the attack path is straightforward and low-complexity.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Authenticated content editors on Grav CMS sites running the Git Sync plugin versions 1.0.2 through 3.4.12 can execute arbitrary OS commands as the web-server account when the plugin's gravuser or gravfull author mode is enabled, by planting shell substitution payloads in their username, full name, or email profile fields that are later interpolated into a git commit --author call and reach PHP exec(). The vulnerability is rated 8.7 (CVSS 4.0) and maps to CWE-78; the assessed vector (CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) confirms that exploitation requires authenticated, low-privileged editor access but no victim interaction, with the additional gating condition that author mode must be explicitly turned on and must not be left at its default posture. No public exploit code has been identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV), so it is a credible, prioritizable bug rather than a drop-everything emergency - though any site with untrusted or broadly provisioned editor accounts and author mode enabled should treat it as an immediate command-execution risk.

RemediationAI

Patch status is not confirmed in the provided intelligence - no exact fixed version is given - so the first step is to check the vendor advisory at https://github.com/getgrav/grav/security/advisories/GHSA-c89w-55m3-fmf7 and the VulnCheck advisory at https://www.vulncheck.com/advisories/grav-git-sync-1.0.2-through-3.4.12-command-injection-via-commit-author and upgrade the Git Sync plugin to the first release the vendor identifies as fixed (anything above 3.4.12 if such a release is published). If no patched release is available yet, the highest-value compensating control is to disable the gravuser and gravfull author modes so that profile fields are never interpolated into the git commit --author argument; the trade-off is that commit attribution falls back to a static/default author identity, which degrades audit-trail fidelity but eliminates the injection path entirely. As a second control, audit and reduce the set of accounts holding content-editor privileges and ensure profile fields (username, full name, email) can only be set by trusted administrators rather than by self-service editors, since PR:L authenticated editor access is a hard prerequisite. Third, run the web server and PHP-FPM under a low-privilege account with no write access outside the Grav tree and no access to credentials or the git remote's SSH keys, which limits the blast radius of command execution to the web-server account's own permissions. Disabling or removing the Git Sync plugin is a valid fallback for sites that do not need automatic git-backed content versioning, with the obvious trade-off of losing that workflow. Because public exploit code is not currently identified and the flaw is not confirmed actively exploited (CISA KEV), these steps can be scheduled against normal patch cycles rather than treated as an emergency, provided author mode is not enabled or editor accounts are not widely distributed.

Affected VersionsENISA

grav-plugin-git-sync 1.0.2 <3.4.13

Affected Packages

euvd grav_plugin_git_sync fix: 3.4.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Grav is a PHP flat-file CMS, and the Git Sync plugin (Trilby Media, CPE cpe:2.3:a:trilbymedia:grav-plugin-git-sync) keeps site content under version control by shelling out to git. The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command): the plugin's author-mode features (gravuser and gravfull) build the value passed to git commit --author from user-controllable profile data - username, full name, or email - without proper escaping before the string is handed to PHP's exec(). Because the --author argument is assembled and invoked through a shell, shell substitution sequences embedded in those profile fields are evaluated by the shell rather than treated as literal text, giving an attacker code execution under the identity of the PHP/web-server process. This is a classic argument-injection-to-command-injection chain: the command itself is legitimate, but the dynamically composed argument crosses a trust boundary into shell metacharacter interpretation. Two deployment characteristics define the exposed population: the plugin must be installed (versions 1.0.2 through 3.4.12 inclusive), and the non-default author mode must be enabled, since without gravuser/gravfull the profile fields are not used to construct the git author string. Note that the 8.7 score reflects the CVSS 4.0 vector AV:N/AC:L/AT:N/PR:L/UI:N with high confidentiality, integrity, and availability impact to the vulnerable system only, and the independent assessment (CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) is consistent with that: full loss of confidentiality, integrity, and availability on the host, scoped to the vulnerable component, requiring prior authenticated access. The exploitability ceiling is not remote unauthenticated code execution, but a privilege-escalation-to-RCE path from an already-provisioned content-editor account to the web-server OS account.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable editor function with low complexity; PR:L reflects the required authenticated content-editor account; command execution as web-server user gives full C/I/A impact with unchanged scope.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 18:03 EUVD
CVE Published
Oct 12, 2026 - 16:05 cve.org
HIGH 8.7

DescriptionCVE.org

Grav Git Sync 1.0.2 through 3.4.12 contains a command injection vulnerability that allows authenticated content editors to execute OS commands by injecting shell substitutions into profile fields. When the gravuser or gravfull author mode is enabled, attackers can set a malicious username, full name, or email that reaches PHP exec() via git commit --author, running commands as the web-server account.

Executive ViewAI

Why It Matters

Grav CMS sites that use the Git Sync plugin in author mode face a high-severity risk that trusted content editors could turn their publishing access into server-level command execution. For leadership, the concern is targeted or insider misuse of editorial accounts on sites where the non-default gravuser or gravfull setting has been enabled, potentially affecting site availability, content integrity, and underlying infrastructure. Remediation urgency is elevated because no vendor-released patch identified at time of analysis and no public exploit identified at time of analysis, so this is a prioritizable configuration and access-control issue rather than a broad emergency.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include disabling the Git Sync plugin or at minimum disabling gravuser/gravfull author mode, restricting editor access to trusted users, sanitizing username/full name/email profile fields, running the web server under least privilege, and monitoring for anomalous git commit --author or PHP exec activity.

Threat Intelligence Overview

EPSS Score
1.2%
Top 32% exploitable
Prevalence
Low
niche flat-file CMS plugin, limited enterprise deployment footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 1.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy