# CVE-2026-48027 : Nx Console : l'extension VS Code piégée qui moissonne les secrets dev

> Une version piégée de l'extension Nx Console (2,2 M d'installations) publiée 11 minutes sur le Marketplace, suffisante pour moissonner les secrets des postes dev via l'auto-update. Le maillon central de Mini Shai-Hulud.

- Page canonique : https://kreomnisvigie.com/cve/cve-2026-48027-nx-console-vscode-supply-chain
- Sévérité : Critique · CVSS 9.3
- CISA KEV (exploitation observée) : oui
- Produits : Nx Console 18.95.0 (corrige en 18.100.0)
- Correctif disponible : oui · PoC public : non · Exploitée : oui
- Publiée le 31 mai 2026 · Kreomnis
- Mots clés : supply-chain, vscode, nx-console, malicious-extension, infostealer, kev

## Le contexte

C'est le **maillon central** de la campagne *Mini Shai-Hulud* (KEV 27 mai), et le plus parlant de son chaînage. Sept jours avant l'attaque sur Nx, le payload voleur d'identifiants distribué via la compromission [TanStack (CVE-2026-45321)](/cve/cve-2026-45321-tanstack-npm-supply-chain) avait silencieusement exfiltré le **jeton OAuth GitHub CLI** d'un contributeur Nx légitime.

Avec cet accès, l'attaquant a publié la version piégée **18.95.0** de l'extension sur le Visual Studio Marketplace et Open VSX le 18 mai, en se faisant passer pour un contributeur core. La fenêtre d'exposition fut courte, de l'ordre de **11 minutes** sur le Marketplace et **~36 minutes** sur Open VSX, mais l'**auto-update** a suffi à propager la version. L'extension cumule 2,2 millions d'installations.

## La mécanique

L'extension compromise (CWE-506) récupérait un payload **obfusqué** qui moissonnait un large éventail de secrets sur la machine du développeur, sur disque comme en mémoire.

## Indicateurs de compromission

Sur les postes affectés :

- **Fichiers** : `~/.local/share/kitty/cat.py`, `~/Library/LaunchAgents/com.user.kitty-monitor.plist`, `/var/tmp/.gh_update_state`, `/tmp/kitty-*`
- **Processus** : un process Python exécutant `cat.py` ; tout process avec `__DAEMONIZED=1` dans son environnement.

## Remédiation

1. **Mettre à niveau vers Nx Console 18.100.0** ou supérieur (version saine).
2. Pour tout poste ayant eu l'auto-update actif pendant la fenêtre : **présumer la compromission**, supprimer les artefacts de persistance ci-dessus, et faire tourner **tous** les identifiants atteignables depuis la machine (tokens GitHub, clés SSH, secrets cloud, cookies de session).

Mettre à jour l'extension sans révoquer les secrets volés ne résout rien.

## Ce qu'il faut retenir

Onze minutes de fenêtre publique ont suffi, parce que l'auto-update transforme une marketplace officielle en canal de distribution instantané. Le poste de développeur est ici l'actif sensible : il concentre tokens, clés et accès cloud. La fermeture de l'incident se mesure en secrets rotés, pas en numéro de version.

- Kreomnis

## Références

- [NVD : CVE-2026-48027](https://nvd.nist.gov/vuln/detail/CVE-2026-48027) (nvd)
- [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) (cisa)
- [Avis de sécurité Nx (GitHub)](https://github.com/nrwl/nx-console/security/advisories) (vendor)

Source : Kreomnis Vigie, https://kreomnisvigie.com/cve/cve-2026-48027-nx-console-vscode-supply-chain. Analyse à usage défensif uniquement.
