Intel

AIKIDO-2026-599402

@conventional-changelog/git-client is vulnerable to Argument Injection

Argument InjectionGHSA-wpj8-6fxv-7g8r Published Aug 12, 2026

48

Medium Risk

This Affects:

JS@conventional-changelog/git-client
2.5.1 - 3.1.1
Fixed in 3.1.2
Are you affected? Scan for Free

TL;DR

GitClient passes caller-provided values such as branch names, revisions, and commit or tag ranges to git as bare positional arguments. A value that begins with a dash is parsed by git as an option instead of data, so externally influenced input can inject git flags with no shell involved. Through checkout the --pathspec-from-file= option makes git read a file and surface its lines in the thrown error message, and through getRawCommits and getTags the --output= option writes the git log to an arbitrary path, enabling sensitive-file disclosure and arbitrary file overwrite. The fix inserts --end-of-options before every caller-provided value so such input is always treated as data rather than options.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application passes untrusted, externally influenced input into GitClient methods such as checkout, getRawCommits, or getTags.

Background info

@conventional-changelog/git-client is vulnerable to Argument Injection in versions 2.5.1 - 3.1.1.

How to fix this

Upgrade the @conventional-changelog/git-client library to the patch version.