@conventional-changelog/git-client is vulnerable to Argument Injection
48
Medium Risk
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.
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.
@conventional-changelog/git-client is vulnerable to Argument Injection in versions 2.5.1 - 3.1.1.
Upgrade the @conventional-changelog/git-client library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant