{"schema":"threatline.record/2","record":{"id":"CVE-2026-12171","aliases":["GHSA-xpvr-2hvx-m8q4"],"summary":"auto-changelog: code execution via untrusted in-repository configuration (handlebarsSetup/plugins), plus argument injection, path traversal, and SSRF","details":"auto-changelog before 2.6.1 merges configuration from inside the target repository (the .auto-changelog file and the auto-changelog key in package.json) into its options, and honors security-sensitive options from that untrusted source. The handlebarsSetup option is passed to require(), so running auto-changelog over attacker-controlled repository content (for example, in a CI workflow that checks out an untrusted pull request head, or locally on a forked or third-party repository) executes attacker-chosen code with the privileges of the invoking user or CI job, including access to workflow secrets, without the repository dependencies ever being installed. The plugins option similarly loads attacker-controlled modules from the repository. Under the same conditions, appendGitLog/appendGitTag allow git argument injection (e.g. --output= to write arbitrary files), output allows writing attacker-influenced content to arbitrary paths, and template causes an outbound request to an attacker-chosen URL. Version 2.6.1 treats in-repository configuration as untrusted and refuses to run when it sets these options, unless the new --unsafe-config flag is passed.","categories":["Unclassified"],"product":"auto-changelog","vendor":"cookpete","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-12171","source_modified_at":"2026-10-05T19:04:19.152Z","fetched_at":"2026-10-23T18:52:38.922436Z","product":"auto-changelog","vendor":"cookpete","versions":[{"status":"affected","version":"0","lessThan":"2.6.1","versionType":"semver"}],"defaultStatus":"unaffected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-12171","source_modified_at":"2026-10-05T19:04:19.152Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"auto-changelog","ecosystem":null},"version":"2.6.1","basis":"first unaffected version stated in the CVE record"}],"cvss":8.4,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00218,"percentile":0.11657,"score_date":"2026-10-23"},"published_at":"2026-10-05T16:25:19.098Z","modified_at":"2026-10-05T19:04:19.152Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-12171","fetched_at":"2026-10-23T18:52:38.922436Z","source_modified_at":"2026-10-05T19:04:19.152Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-12171","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/cookpete/auto-changelog/security/advisories/GHSA-xpvr-2hvx-m8q4","tags":["exploit"]},{"source":"CVE List","url":"https://github.com/cookpete/auto-changelog/commit/1d02a48a0a57c69a3cd268aca375d64d50877c1a","tags":["patch"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"poc","automatable":"no","technical_impact":"total","assessed_at":"2026-10-05T19:03:58.537396Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-05T19:04:19.152Z","content_hash":"661bfc25229048d7d7f83e5960a72cbd8928fe3866cfc8aea5b48ceed1998cb7"}}
