FICHE CVE

CVE-2026-12171

Publiée le 2026-10-05 · Dernière modification le 2026-10-06

🇫🇷 EN BREF

Les versions d'auto-changelog antérieures à la 2.6.1 sont concernées car elles font confiance aux fichiers de configuration situés à l'intérieur du dépôt traité. Un attaquant peut exécuter du code arbitraire, écrire des fichiers sur votre système ou voler des secrets si vous exécutez l'outil sur un dépôt malveillant, comme une demande de pull (pull request) non fiable dans un pipeline CI ou un fork tiers cloné localement. Cela ne nécessite aucun privilège ou authentification particulière, seulement le fait de lancer l'outil sur le contenu du dépôt préparé par l'attaquant.

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueLocal
Complexité d'attaqueFaible
Prérequis d'attaqueAucun
Privilèges requisAucun
Interaction utilisateurActive
Confidentialité (système vulnérable)Élevée
Intégrité (système vulnérable)Élevée
Disponibilité (système vulnérable)Élevée
Confidentialité (système subséquent)Aucune
Intégrité (système subséquent)Aucune
Disponibilité (système subséquent)Aucune

RÉFÉRENCES

Description officielle du NVD (en anglais)

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.