CVE-2026-12171 Code injection in auto-changelog
Attackers can execute arbitrary code and read secrets by providing malicious configuration in a repository processed by auto-changelog.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-12171?
CVE-2026-12171 is a high-severity code injection vulnerability in cookpete auto-changelog, published on 5 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
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.
Which versions are affected by CVE-2026-12171?
How do I fix CVE-2026-12171?
No fix has been published for CVE-2026-12171 yet. Limit exposure of the affected software until one is available.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-12171 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-12171 exists.
Sources
Also known as GHSA-xpvr-2hvx-m8q4.