Catégories
CVE-2026-9679 medium CVSS 5.9

Vulnérabilité dans undici (CVE-2026-9679)

Résumé

Vulnérabilité dans undici (CVE-2026-9679). Les données peuvent être altérées par des attaquants. Exploitable via parseSetCookie. Atténuation : mise à jour vers 8.5.0 ou plus.

Description d'origine

La description telle que publiée par la source (souvent en anglais).

Impact

undici's cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode either.

Applications that parse a Set-Cookie header and then forward the parsed value into a response header (proxies, middleware, SSR frameworks) become vulnerable to HTTP response header injection: an attacker-controlled upstream can inject arbitrary Set-Cookie, Location, or Cache-Control headers into the application's downstream response, enabling session fixation, open redirect, or cache poisoning.

Affected applications are those that use undici's cookie parsing (parseSetCookie, parseCookie, getSetCookies) and forward the parsed cookie value into a response header.

This was introduced in undici 7.0.0 via #3789.

Patches

Upgrade to undici v6.27.0, v7.28.0 or v8.5.0.

Workarounds

If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.

Source: NIST National Vulnerability Database NVD GitHub Advisory

Résumé généré automatiquement

Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.

Une vulnérabilité référencée CVE-2026-9679 a été découverte dans undici.
Des attaquants peuvent cibler un point d'entrée spécifique comme parseSetCookie à distance pour détourner le produit.
Les données peuvent être altérées par des attaquants. Score CVSS : 5.9/10.
Action : mettez à jour undici vers 8.5.0 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « undici CVE-2026-9679 » sur le site de l'éditeur.

CVE-2026-9679 (undici) — CWE-93 / CVSS v3 5.9
Vecteur d'attaque : distant (réseau) / non authentifié / sans interaction utilisateur
Surface d'attaque : parseSetCookie / qsUnescape / Location / parseCookie
Correctif : 8.5.0 — appliquer immédiatement
Contournement : If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.

❓ Quel est le problème

Une vulnérabilité (CWE-93) affecte undici. Les attaquants atteignent le code vulnérable via parseSetCookie sans authentification.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de undici. Surface d'attaque : parseSetCookie / qsUnescape / Location / parseCookie.

🔥 Gravité

Gravité : Moyenne (CVSS 5.9/10). Les données peuvent être altérées par des attaquants.

🔧 Comment corriger

Mettre à jour vers 8.5.0.

🛡️ Contournement

Contournement : If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.

🔍 Détection

Recherchez dans les logs des requêtes correspondant aux IOC connus de cette CVE. Auditez les SBOM/dépendances.

Actions de réponse

Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre

  1. 1
    Identify exposure identify
    grep -r 'undici' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で undici を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Apply temporary workaround mitigate
    If upgrade is not immediately possible, do not forward values returned by `parseSetCookie`/`parseCookie`/`getSetCookies` directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, `;`, and `=` bytes.

    パッチが適用されるまでの応急処置として、If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes. を実施。回避策の副作用 (機能低下) を確認した上で。

  3. 3
    Apply patch patch
    Upgrade undici to 8.5.0

    ステージング環境で 8.5.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  4. 4
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Paquets affectés

npm undici
[{"type":"SEMVER","events":[{"introduced":"8.0.0"},{"fixed":"8.5.0"}]}]

État des correctifs par distribution

Paquets corrigés publiés par chaque distribution pour cette CVE

Références

Nous utilisons des cookies pour l'analyse d'audience et la mesure publicitaire. Ce réglage s'applique à tous les sites de Game co., Ltd. En savoir plus