CVE-2026-72718
goose: Arbitrary command execution in goose CLI via `goose review` via git core.fsmonitor
goose is general-purpose AI agent that runs on your machine. Prior to 1.44.0, the goose review command runs the system git executable to gather the diff for review without stripping attacker-controlled Git configuration. A malicious repository whose .git/config sets [core] fsmonitor = <command> causes Git to execute that command on the host during the index refresh performed by git diff HEAD. The command runs before goose contacts a model and without a submitted prompt, model call, tool approval, or trust prompt. The context-gathering Git process is not sandboxed and is outside goose's tool-permission model. Arbitrary commands run with the privileges and environment of the user running goose, allowing file access or modification and exfiltration of environment secrets and provider API keys. The vulnerable Git invocations are built by git_command() in crates/goose-cli/src/commands/review/handler.rs and are used by touched_files() and collect_diff() for git diff --name-only HEAD and git diff HEAD. This issue is fixed in version 1.44.0.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Active
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.0
goose: Arbitrary command execution in goose CLI via `goose review` via git core.fsmonitor
goose is general-purpose AI agent that runs on your machine. Prior to 1.44.0, the goose review command runs the system git executable to gather the diff for review without stripping attacker-controlled Git configuration. A malicious repository whose .git/config sets [core] fsmonitor = <command> causes Git to execute that command on the host during the index refresh performed by git diff HEAD. The command runs before goose contacts a model and without a submitted prompt, model call, tool approval, or trust prompt. The context-gathering Git process is not sandboxed and is outside goose's tool-permission model. Arbitrary commands run with the privileges and environment of the user running goose, allowing file access or modification and exfiltration of environment secrets and provider API keys. The vulnerable Git invocations are built by git_command() in crates/goose-cli/src/commands/review/handler.rs and are used by touched_files() and collect_diff() for git diff --name-only HEAD and git diff HEAD. This issue is fixed in version 1.44.0.
- Record
CVE-2026-72718- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-94
- Updated
- 2026-11-02
EUVDEUVD-2026-55653
7.0
goose is general-purpose AI agent that runs on your machine. Prior to 1.44.0, the goose review command runs the system git executable to gather the diff for review without stripping attacker-controlled Git configuration. A malicious repository whose .git/config sets [core] fsmonitor = <command> causes Git to execute that command on the host during the index refresh performed by git diff HEAD. The command runs before goose contacts a model and without a submitted prompt, model call, tool approval, or trust prompt. The context-gathering Git process is not sandboxed and is outside goose's tool-permission model. Arbitrary commands run with the privileges and environment of the user running goose, allowing file access or modification and exfiltration of environment secrets and provider API keys. The vulnerable Git invocations are built by git_command() in crates/goose-cli/src/commands/review/handler.rs and are used by touched_files() and collect_diff() for git diff --name-only HEAD and git diff HEAD. This issue is fixed in version 1.44.0.
- Record
EUVD-2026-55653- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
NVD
7.0
goose is general-purpose AI agent that runs on your machine. Prior to 1.44.0, the goose review command runs the system git executable to gather the diff for review without stripping attacker-controlled Git configuration. A malicious repository whose .git/config sets [core] fsmonitor = <command> causes Git to execute that command on the host during the index refresh performed by git diff HEAD. The command runs before goose contacts a model and without a submitted prompt, model call, tool approval, or trust prompt. The context-gathering Git process is not sandboxed and is outside goose's tool-permission model. Arbitrary commands run with the privileges and environment of the user running goose, allowing file access or modification and exfiltration of environment secrets and provider API keys. The vulnerable Git invocations are built by git_command() in crates/goose-cli/src/commands/review/handler.rs and are used by touched_files() and collect_diff() for git diff --name-only HEAD and git diff HEAD. This issue is fixed in version 1.44.0.
- Record
CVE-2026-72718- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-94
- Updated
- 2026-11-02
OSV
7.0
goose: Arbitrary command execution in goose CLI via `goose review` via git core.fsmonitor
goose is general-purpose AI agent that runs on your machine. Prior to 1.44.0, the goose review command runs the system git executable to gather the diff for review without stripping attacker-controlled Git configuration. A malicious repository whose .git/config sets [core] fsmonitor = <command> causes Git to execute that command on the host during the index refresh performed by git diff HEAD. The command runs before goose contacts a model and without a submitted prompt, model call, tool approval, or trust prompt. The context-gathering Git process is not sandboxed and is outside goose's tool-permission model. Arbitrary commands run with the privileges and environment of the user running goose, allowing file access or modification and exfiltration of environment secrets and provider API keys. The vulnerable Git invocations are built by git_command() in crates/goose-cli/src/commands/review/handler.rs and are used by touched_files() and collect_diff() for git diff --name-only HEAD and git diff HEAD. This issue is fixed in version 1.44.0.
- Record
CVE-2026-72718- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-94
- Updated
- 2026-11-02
OSVRHSA-2026:80764
8.2
Red Hat Security Advisory: goose security update
- Record
RHSA-2026:80764- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N - Updated
- 2026-11-02
OSVRHSA-2026:80765
8.2
Red Hat Security Advisory: goose security update
- Record
RHSA-2026:80765- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
gooseRed Hat:enterprise_linux:9::extensions From an advisory covering 4 CVEs |
before 0:1.45.0-1.el9_8 | 0:1.45.0-1.el9_8 |
goose-debuginfoRed Hat:enterprise_linux:9::extensions From an advisory covering 4 CVEs |
before 0:1.45.0-1.el9_8 | 0:1.45.0-1.el9_8 |
goose-debugsourceRed Hat:enterprise_linux:9::extensions From an advisory covering 4 CVEs |
before 0:1.45.0-1.el9_8 | 0:1.45.0-1.el9_8 |
gooseRed Hat:enterprise_linux:10.2 From an advisory covering 4 CVEs |
before 0:1.45.0-1.el10_2 | 0:1.45.0-1.el10_2 |
goose-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 4 CVEs |
before 0:1.45.0-1.el10_2 | 0:1.45.0-1.el10_2 |
goose-debugsourceRed Hat:enterprise_linux:10.2 From an advisory covering 4 CVEs |
before 0:1.45.0-1.el10_2 | 0:1.45.0-1.el10_2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-72718 is a high vulnerability (CVSS 7.0) in Aaif-goose Goose, published August 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. No source names a fixed version.
References
github.com/aaif-goose/goose/security/advisories/GHSA-r5pp-p5r8-466r
github.com/aaif-goose/goose/commit/f8b5b7ba1fe6d006ccf6942f6b85a1bae985a2de
github.com/aaif-goose/goose/releases/tag/v1.44.0
github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72718.json
nvd.nist.gov/vuln/detail/CVE-2026-72718
access.redhat.com/errata/RHSA-2026:80764
Show 30 moreShow less
access.redhat.com/security/updates/classification
issues.redhat.com/browse/RHEL-254952
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_80764.json
access.redhat.com/security/cve/CVE-2026-63127
bugzilla.redhat.com/show_bug.cgi?id=2535503
cve.org/CVERecord?id=CVE-2026-63127
nvd.nist.gov/vuln/detail/CVE-2026-63127
github.com/modelcontextprotocol/rust-sdk/commit/c1a8b29ff2cc45e7820b900dae42cbb4958089ec
github.com/modelcontextprotocol/rust-sdk/pull/937
github.com/modelcontextprotocol/rust-sdk/releases/tag/rmcp-v2.0.0
github.com/modelcontextprotocol/rust-sdk/security/advisories/GHSA-33f5-2c5q-wgwj
access.redhat.com/security/cve/CVE-2026-63128
bugzilla.redhat.com/show_bug.cgi?id=2535485
cve.org/CVERecord?id=CVE-2026-63128
nvd.nist.gov/vuln/detail/CVE-2026-63128
github.com/modelcontextprotocol/rust-sdk/commit/dfa7fd6f9309deab60bea230b041be9a3fcda846
github.com/modelcontextprotocol/rust-sdk/pull/934
github.com/modelcontextprotocol/rust-sdk/security/advisories/GHSA-9pj6-vhgr-3mwh
access.redhat.com/security/cve/CVE-2026-72718
bugzilla.redhat.com/show_bug.cgi?id=2513538
cve.org/CVERecord?id=CVE-2026-72718
access.redhat.com/security/cve/CVE-2026-93599
bugzilla.redhat.com/show_bug.cgi?id=2538431
cve.org/CVERecord?id=CVE-2026-93599
nvd.nist.gov/vuln/detail/CVE-2026-93599
github.com/rustls/webpki/security/advisories/GHSA-82j2-j2ch-gfr8
vulncheck.com/advisories/rustls-webpki-before-0.103.13-panic-via-empty-bit-string
access.redhat.com/errata/RHSA-2026:80765
issues.redhat.com/browse/RHEL-254954
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_80765.json