codewhale

Ecosystem: npm

Downloads: 18.91 K

Vulnerabilities from the last (months)
  • 1CriticalAffects 1 version
  • 8HighAffects 8 versions
  • 0MediumAffects 0 versions
  • 0ModerateAffects 0 versions
  • 0LowAffects 0 versions
Severity distribution (all time)
9vulnerabilities
  • Critical1 (11.1%)
  • High8 (88.9%)
  • Medium0 (0.0%)
  • Moderate0 (0.0%)
  • Low0 (0.0%)

Monthly breakdown

  • 9 vulnerabilities
    • Critical: 1
    • High: 8
    • Medium: 0
    • Moderate: 0
    • Low: 0

Vulnerabilities (9)

Known vulnerabilities affecting codewhale, based on data from OSV.

Vulnerabilities affecting codewhale
IDSeveritySummaryAffected versionsPublishedSource
GHSA-62f5-cp2p-vq95HighCodeWhale: Project config `instructions` override enables arbitrary file read into AI system prompt via cloned repository### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 43563356b98c6b993085554da82e77370160a31c. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary A malicious `.codewhale/config.toml` or `.deepseek/config.toml` committed to a repository can set `instructions` to an array of arbitrary file paths (including paths outside the workspace like `~/.ssh/id_rsa` or `~/.aws/credentials`) that are read from disk and injec
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-6v2g-fpxh-pmmhCriticalCodeWhale: SSRF‌ bypass - TOCTOU on DNS failure for DNS pinning### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary DNS-pinning failure allows natural failure of code, however with a custom DNS server that fails the initial requests and allows the secondary requests, it's possible to bypass the logic. ### Details Simplified attack scenario: 1. Attacker asks agent to visit the `my
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-7j5w-7r7x-9v27HighCodeWhale: Argument Injection in `git_show` Tool Allows Arbitrary File Write Without Approval### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 9a34b5034d29f05d1f28fa61b04719ca6a741020. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. # Argument Injection in `git_show` Tool Allows Arbitrary File Write Without Approval ## Overview The `git_show` tool in DeepSeek-TUI executes `git show` with the model-supplied `rev` parameter passed unvalidated into the argv. `git show` honours the `--output=<path>` option, so
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-c6mw-8xh8-gpq6HighCodeWhale: Argument Injection in `git_blame` Tool Allows Arbitrary File Read Without Approval### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 9a34b5034d29f05d1f28fa61b04719ca6a741020. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. # Argument Injection in `git_blame` Tool Allows Arbitrary File Read Without Approval ## Overview The `git_blame` tool in DeepSeek-TUI passes the model-supplied `rev` parameter unvalidated into the argv of `git blame`. `git blame` accepts `--contents=<file>`, which causes it to
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-g29h-pfmp-qp9rHighCodeWhale: exec_shell_interact sends LLM-controlled input to a running shell without an approval prompt (privilege escalation)### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 57f3c89471e27ac4032d9791f6885e5d4408c381. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary `exec_shell` is correctly approval-gated. Its sibling `exec_shell_interact` returns `ApprovalRequirement::Auto`, so when the model writes input into a shell the user already approved (a `python3 -i` REPL, `mysql`, `ssh`, `sudo -i`, etc.), no prompt fires. Inside those
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-gx45-xrj5-g6c4HighCodeWhale: Project config `allow_shell` override enables arbitrary shell command execution via cloned repository### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 43563356b98c6b993085554da82e77370160a31c. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary A malicious `.codewhale/config.toml` or `.deepseek/config.toml` committed to a repository can silently set `allow_shell = true` for any user who clones and opens the repository in CodeWhale. This enables the AI model's `exec_shell` tool, granting arbitrary shell comm
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-h539-c7r8-3xq4HighCodeWhale: js_execution leaks parent environment to model context via missing env scrub### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary js_execution exposes parent process environment to model-provided JavaScript The js_execution tool spawns Node with tokio::process::Command::new without calling the child_env scrubber that exec_shell, the Python REPL, and the MCP launcher all use. Model-provided Jav
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-w7wx-5q49-r59wHighCodeWhale: image_analyze follows workspace symlinks, leaking external file bytes### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary image_analyze follows workspace symlinks and leaks outside-workspace file bytes to the vision endpoint The image_analyze tool resolves its image_path with a bare context.workspace.join instead of routing through ToolContext::resolve_path. The pre-join lexical check
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
GHSA-wrj3-vj8c-784fHighCodeWhale: rlm_eval auto-approves arbitrary Python execution, bypassing the user's approval policy (RCE)### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 57f3c89471e27ac4032d9791f6885e5d4408c381. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary The `rlm_eval` tool runs an arbitrary Python string chosen by the model in a real `python3` interpreter. Its `approval_requirement()` returns `ApprovalRequirement::Auto`, which the engine treats as "never prompt," regardless of the user's configured `--approval-policy
  • >= 0.8.41, < 0.8.64
GitHub (opens in a new tab)
  • GHSA-62f5-cp2p-vq95High
    CodeWhale: Project config `instructions` override enables arbitrary file read into AI system prompt via cloned repository
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 43563356b98c6b993085554da82e77370160a31c. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary A malicious `.codewhale/config.toml` or `.deepseek/config.toml` committed to a repository can set `instructions` to an array of arbitrary file paths (including paths outside the workspace like `~/.ssh/id_rsa` or `~/.aws/credentials`) that are read from disk and injec

    CVE: CVE-2026-75859

  • GHSA-6v2g-fpxh-pmmhCritical
    CodeWhale: SSRF‌ bypass - TOCTOU on DNS failure for DNS pinning
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary DNS-pinning failure allows natural failure of code, however with a custom DNS server that fails the initial requests and allows the secondary requests, it's possible to bypass the logic. ### Details Simplified attack scenario: 1. Attacker asks agent to visit the `my

    CVE: CVE-2026-75856

  • GHSA-7j5w-7r7x-9v27High
    CodeWhale: Argument Injection in `git_show` Tool Allows Arbitrary File Write Without Approval
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 9a34b5034d29f05d1f28fa61b04719ca6a741020. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. # Argument Injection in `git_show` Tool Allows Arbitrary File Write Without Approval ## Overview The `git_show` tool in DeepSeek-TUI executes `git show` with the model-supplied `rev` parameter passed unvalidated into the argv. `git show` honours the `--output=<path>` option, so

    CVE: CVE-2026-75913

  • GHSA-c6mw-8xh8-gpq6High
    CodeWhale: Argument Injection in `git_blame` Tool Allows Arbitrary File Read Without Approval
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 9a34b5034d29f05d1f28fa61b04719ca6a741020. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. # Argument Injection in `git_blame` Tool Allows Arbitrary File Read Without Approval ## Overview The `git_blame` tool in DeepSeek-TUI passes the model-supplied `rev` parameter unvalidated into the argv of `git blame`. `git blame` accepts `--contents=<file>`, which causes it to

    CVE: CVE-2026-75912

  • GHSA-g29h-pfmp-qp9rHigh
    CodeWhale: exec_shell_interact sends LLM-controlled input to a running shell without an approval prompt (privilege escalation)
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 57f3c89471e27ac4032d9791f6885e5d4408c381. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary `exec_shell` is correctly approval-gated. Its sibling `exec_shell_interact` returns `ApprovalRequirement::Auto`, so when the model writes input into a shell the user already approved (a `python3 -i` REPL, `mysql`, `ssh`, `sudo -i`, etc.), no prompt fires. Inside those

    CVE: CVE-2026-75857

  • GHSA-gx45-xrj5-g6c4High
    CodeWhale: Project config `allow_shell` override enables arbitrary shell command execution via cloned repository
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 43563356b98c6b993085554da82e77370160a31c. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary A malicious `.codewhale/config.toml` or `.deepseek/config.toml` committed to a repository can silently set `allow_shell = true` for any user who clones and opens the repository in CodeWhale. This enables the AI model's `exec_shell` tool, granting arbitrary shell comm

    CVE: CVE-2026-75911

  • GHSA-h539-c7r8-3xq4High
    CodeWhale: js_execution leaks parent environment to model context via missing env scrub
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary js_execution exposes parent process environment to model-provided JavaScript The js_execution tool spawns Node with tokio::process::Command::new without calling the child_env scrubber that exec_shell, the Python REPL, and the MCP launcher all use. Model-provided Jav

    CVE: CVE-2026-75915

  • GHSA-w7wx-5q49-r59wHigh
    CodeWhale: image_analyze follows workspace symlinks, leaking external file bytes
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 26de44a8bd5051f8f944ea60b2c37ae1d2b7d25e. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary image_analyze follows workspace symlinks and leaks outside-workspace file bytes to the vision endpoint The image_analyze tool resolves its image_path with a bare context.workspace.join instead of routing through ToolContext::resolve_path. The pre-join lexical check

    CVE: CVE-2026-75914

  • GHSA-wrj3-vj8c-784fHigh
    CodeWhale: rlm_eval auto-approves arbitrary Python execution, bypassing the user's approval policy (RCE)
    • >= 0.8.41, < 0.8.64

    ### Maintainer resolution The CodeWhale maintainers validated this report. The affected package ranges are recorded in the advisory metadata. Version 0.8.64 contains the fix in commit 57f3c89471e27ac4032d9791f6885e5d4408c381. Users should upgrade to 0.8.64 or later. The original reporter analysis is preserved below. ### Summary The `rlm_eval` tool runs an arbitrary Python string chosen by the model in a real `python3` interpreter. Its `approval_requirement()` returns `ApprovalRequirement::Auto`, which the engine treats as "never prompt," regardless of the user's configured `--approval-policy

    CVE: CVE-2026-75858

Showing 1-9 of 9 vulnerabilities