7.0 HIGH
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Local (L)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): None (N)
- Privileges Required (PR): Low (L)
- User Interaction (UI): Active (A)
- Vulnerable System Impact Confidentiality (VC): High (H)
- Vulnerable System Impact Integrity (VI): High (H)
- Vulnerable System Impact Availability (VA): High (H)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Local (L)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): None (N)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): Active (A)
- Modified Vulnerable System Impact Confidentiality (MVC): High (H)
- Modified Vulnerable System Impact Integrity (MVI): High (H)
- Modified Vulnerable System Impact Availability (MVA): High (H)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
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.
References
-
https://github.com/aaif-goose/goose/security/advisories/GHSA-r5pp-p5r8-466r x_refsource_CONFIRMexploit
-
https://github.com/aaif-goose/goose/releases/tag/v1.44.0 x_refsource_MISC
Affected products
- ==< 1.44.0
Matching in nixpkgs
pkgs.goose
Database migration tool which supports SQL migrations and Go functions
pkgs.mongoose
Graph Coarsening and Partitioning Library
pkgs.goose-cli
Open-source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
pkgs.imapgoose
IMAP to Maildir synchronization tool
Package maintainers
-
@cloudripper cloudripper <dev+nixpkgs@cldrpr.com>
-
@brittonr Britton Robitzsch <b@robitzs.ch>
-
@Tyler-Hardin Tyler Hardin <th020394@gmail.com>
-
@MiniHarinn Harinn <prinn.dev@pm.me>
-
@caniko Can H. Tartanoglu <gpg@rotas.mozmail.com>
-
@stepbrobd Yifei Sun <ysun@hey.com>
-
@bobberb bobberb <bobberb@half-done.org>
-
@philocalyst Myles Wirth <milestheperson@posteo.net>
-
@wegank Weijia Wang <contact@weijia.wang>