ÉlevéeCVE-2026-109383
undici vulnérable à la contournement de validation du certificat TLS via des options TLS abandonnées dans Agent
Conséquences sérieuses, souvent sous quelques conditions : à corriger rapidement.
- Sévérité
- Élevée7.4 / 10
- Publiée le
- 27 octobre 2026
- Mise à jour
- 27 octobre 2026
L'avis
Traduction automatique de l'avis officiel. En cas de doute, l'avis d'origine, plus bas, fait foi.
Impact
L'Agent d'undici transmet ses options de constructeur à chaque Pool par origine via un clonage profond basé sur JSON (JSON.parse(JSON.stringify(...))). JSON ne pouvant pas représenté de fonctions, une option tls fournie par l'appelant contenant un rappel checkServerIdentity est silencieusement abandonnée avant d'arriver à la couche TLS. En conséquence, un pair TLS dont le certificat a été écrit pour être rejeté par un checkServerIdentity personnalisé, mais qui passe les vérifications de nom d'hôte et de chaîne par défaut de Node, est silencieusement accepté lorsque la demande est effectuée via Agent. Puisque Agent est le dispatcheur par défaut derrière request, fetch, et setGlobalDispatcher, c'est le chemin utilisé par la plupart des applications. EnvHttpProxyAgent est également affecté sur ses routes directes et NO_PROXY, qui déléguent à un Agent interne.
Seules les applications qui passent une option tls de valeur fonction (comme un checkServerIdentity personnalisé pour la validation de certificat ou l'ancrage de clé publique) sont affectées. Le passage des mêmes options via connect n'est pas affecté. C'est l'équivalent Agent de la contournement de validation de certificat BalancedPool corrigée dans CVE-2026-84961.
Correctifs
Mettez à jour vers undici 6.29.1, 7.30.1, ou 8.12.2. Agent préserve maintenant l'option tls en dehors du clonage JSON, de sorte que les rappels de vérification TLS personnalisés sont transmis à chaque origine inchangés.
Contournements
Passez les options TLS via connect au lieu de tls. Pour les destinations EnvHttpProxyAgent proxyfées, utilisez requestTls / proxyTls.
Composants touchés
| Composant | Versions touchées | Corrigé en |
|---|---|---|
| undiciJavaScript (npm) | >= 4.0.0, < 6.29.1 | 6.29.1 |
| undiciJavaScript (npm) | >= 7.0.0, < 7.30.1 | 7.30.1 |
| undiciJavaScript (npm) | >= 8.0.0, < 8.12.2 | 8.12.2 |
Vous utilisez une version touchée ? Passez à la version corrigée, puis redéployez.