---
title: "follow-redirects に脆弱性（CVE-2026-116689）: 別の実行環境で作った sensitiveHeaders が無視され、独自の認証ヘッダーが別ホストへのリダイレクトに付いたまま送られる恐れ"
url: https://n-t-p.io/worldsecurity/articles/follow-redirects-cross-realm-sensitiveheaders-custom-credential-redirect-2026-116689
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 高
cve: CVE-2026-116689
---

# follow-redirects に脆弱性（CVE-2026-116689）: 別の実行環境で作った sensitiveHeaders が無視され、独自の認証ヘッダーが別ホストへのリダイレクトに付いたまま送られる恐れ

> **TL;DR:** follow-redirects の CVE-2026-116689（GitHub 評価 High、CVSS v3.1 5.9／v4.0 8.2、CWE-201）。別の実行環境で作った sensitiveHeaders 配列が空に置き換わり、独自の認証ヘッダーが別オリジンへのリダイレクトに付いたまま送られる。影響は 1.16.0〜1.16.1、1.16.2（10/25）で修正済みで、配布物にも修正が入っていることを確認。KEV 掲載なし、EPSS 0.27%。

**要点**
- CVE-2026-116689: sensitiveHeaders の判定が instanceof Array のため、別の実行環境の配列が空に置き換わり、独自の認証ヘッダーが別オリジンのリダイレクト先に漏れる（v3.1 5.9、v4.0 8.2、CWE-201）
- 条件は、別の実行環境で作った配列を渡し、独自の認証ヘッダーを指定し、攻撃者管理の接続先がリダイレクトすること。Authorization・Cookie などの標準の保護は影響なし
- 影響範囲は 1.16.0〜1.16.1、修正版は 1.16.2（npm 公開 10/25）。コミットと配布物の index.js で修正の反映を確認済み
- 勧告によると、Axios 1.20.0 + follow-redirects 1.16.1 では Axios が配列を正規化するため再現しなかった
- NVD は未確認。KEV 掲載なし。EPSS は 0.27%（10/30）

npm の `follow-redirects`（リダイレクトを自動でたどる HTTP クライアント用ライブラリ）に、2026 年 10 月 30 日（UTC）に脆弱性 CVE-2026-116689 が公開されました。GitHub Advisory の深刻度は High、CVSS は v3.1 が 5.9（AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N）、v4.0 が 8.2、CWE-201 です。`sensitiveHeaders` に指定した独自の認証ヘッダー（例: `X-API-Key`）が、別のホストへのリダイレクト先に付いたまま送られる場合があります。CISA の KEV には載っていません。EPSS は 0.27%（10/30 時点）です。

## 何が起きるか

- `follow-redirects` 1.16.0 で、別ホストへのリダイレクト時に外すヘッダーを指定する `sensitiveHeaders` オプションが加わりました。`Authorization`、`Proxy-Authorization`、`Cookie` は、このオプションに関係なく標準で保護されます。
- 内部の判定が `value instanceof Array` だったため、別の JavaScript 実行環境（Node.js の `vm` で作る別コンテキストなど）で作られた配列は、配列と見なされず、空のリストに置き換えられていました。
- 結果として、呼び出し側が `sensitiveHeaders` に独自の認証ヘッダーを書いていても、その指定が捨てられ、攻撃者が用意した別オリジンのリダイレクト先にヘッダーの値が届きます。同じ実行環境で作った配列では起きません。
- 勧告は、`X-Harmless` のような無関係なヘッダーは両方のケースでそのまま残ることも確認しています。

## 悪用の条件

勧告が挙げる条件は 3 つです。

1. 呼び出し側（またはそれを包むラッパー）が、別の実行環境で作った `sensitiveHeaders` 配列をそのまま渡していること。
2. その配列に、独自の認証ヘッダー名が入っていること。
3. 攻撃者が管理する、または侵害された接続先が、別オリジンへのリダイレクトを返すこと。

実際に確かめられた結果は、独自ヘッダーの値の漏えいです（API キーやサービストークンなど）。勧告によると、Axios 1.20.0 と follow-redirects 1.16.1 の組み合わせでは、Axios が配列を正規化するため再現しませんでした。Axios が影響を受けるとは書かれていません。

## 影響を受ける版と修正

- 勧告の影響範囲は 1.16.0 以上 1.16.1 以下、修正版は 1.16.2 です。`sensitiveHeaders` は 1.16.0 で導入されたため、それより前の版は対象外です。
- 修正は `instanceof Array` を `Array.isArray()` に置き換えるもので、リポジトリのコミットは 10 月 25 日 21:25（UTC）です。
- npm の 1.16.2 は 10 月 25 日 21:32（UTC）に公開されています。公開された 1.16.2 の `gitHead` はこのコミットの 1 つ後で、配布物の `index.js` にも `Array.isArray(options.sensitiveHeaders)` が入っていることを確かめました。つまり、1.16.2 に修正は含まれています。

## 対応

1. `npm ls follow-redirects` で、使っている版を確認します。直接の依存だけでなく、HTTP クライアント経由の間接利用も含みます。
2. 1.16.0 または 1.16.1 なら、1.16.2 以降へ更新します。
3. 更新までの間は、`sensitiveHeaders` に渡す配列を、そのまま渡さずに自分の実行環境で作り直すか、独自の認証ヘッダーを別オリジンへのリクエストに付けない運用にします。
4. 独自の認証ヘッダーを使っていて、信頼できない接続先へリダイレクトされた可能性がある場合は、そのキーやトークンの更新を検討します。

## 未確認の点

- NVD の記載は確認できていません（公開直後）。
- 悪用の報告は見つかっていません（KEV 掲載なし、EPSS は低い水準）。
- 勧告の検証は手元のループバック環境で行われたもので、実在のサービスへの試験は行っていないと書かれています。同種の報告が既にある可能性にも触れています。


## 出典
- [GitHub Advisory GHSA-mrwp-f3q8-3g9p](https://github.com/advisories/GHSA-mrwp-f3q8-3g9p) — GitHub
- [follow-redirects コミット（Use Array.isArray）](https://github.com/follow-redirects/follow-redirects/commit/b0a7751e9cd64cd8eeb6ec67d2f206a9cc88d3f8) — follow-redirects
- [follow-redirects v1.16.2](https://github.com/follow-redirects/follow-redirects/releases/tag/v1.16.2) — follow-redirects
- [npm follow-redirects](https://www.npmjs.com/package/follow-redirects) — npm
- [NVD CVE-2026-116689](https://nvd.nist.gov/vuln/detail/CVE-2026-116689) — NIST NVD
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-116689) — FIRST
- [CISA Known Exploited Vulnerabilities Catalog（JSON）](https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/follow-redirects-cross-realm-sensitiveheaders-custom-credential-redirect-2026-116689