undiciにおいて、AgentのTLSオプションが適切に処理されないことにより、TLS証明書の検証を回避される脆弱性が存在します。

### 影響

undiciの`Agent`は、コンストラクタに渡されたオプションを、JSONベースの深いコピー(`JSON.parse(JSON.stringify(...))`)によって複製し、その後、各オリジンに対応する`Pool`に渡します。JSONは関数を表現できないため、呼び出し元から提供された`tls`オプションのうち、`checkServerIdentity`コールバックを含むものは、TLSレイヤーに到達する前に、通知なく削除されます。その結果、カスタムの`checkServerIdentity`によって拒否されるはずのTLSピアが、Nodeのデフォルトのホスト名とチェーンのチェックをパスしている場合、`Agent`を経由してリクエストを行うと、問題なく受け入れられてしまいます。`Agent`は、`request`、`fetch`、および`setGlobalDispatcher`のデフォルトのディスパッチャであるため、多くのアプリケーションがこのパスを使用しています。`EnvHttpProxyAgent`も、直接の接続と`NO_PROXY`ルーティングにおいて、内部の`Agent`に委譲するため、影響を受けます。

影響を受けるのは、関数型の`tls`オプション(例えば、証明書または公開鍵のピン留めを行うためのカスタム`checkServerIdentity`)を渡すアプリケーションのみです。同じオプションを`connect`経由で渡す場合は影響を受けません。これは、CVE-2026-84961で修正された`BalancedPool`の証明書検証回避の脆弱性に対応するものです。

### 修正

undiciをバージョン`6.29.1`、`7.30.1`、または`8.12.2`にアップグレードしてください。`Agent`は、JSONコピーの外部で`tls`オプションを保持するように変更されたため、カスタムのTLS検証コールバックが、変更されずに各オリジンに渡されるようになります。

### 対策

TLSオプションを`tls`ではなく`connect`経由で渡してください。プロキシ経由の`EnvHttpProxyAgent`宛ての接続では、`requestTls`または`proxyTls`を使用してください。

影響を受けるパッケージ:
- npm (JavaScript) undici: 影響範囲は、バージョン`4.0.0`以上、`6.29.1`未満。`6.29.1`で修正済み。
- npm (JavaScript) undici: 影響範囲は、バージョン`7.0.0`以上、`7.30.1`未満。`7.30.1`で修正済み。
- npm (JavaScript) undici: 影響範囲は、バージョン`8.0.0`以上、`8.12.2`未満。`8.12.2`で修正済み。