Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-21710 — CVE-2026-21710の概念実証エクスプロイト。Node.jsのHTTPリクエスト処理における欠陥で、`__proto__`ヘッダーを介してキャッチされないTypeErrorを引き起こし、サービス拒否(DoS)に至ります。 | Kitploit
ツール/GitHubGitHub/open-flaw/cve-2026-21710
脆弱性分析エクスプロイトウェブアプリケーション悪用
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

CVE-2026-21710の概念実証エクスプロイト。Node.jsのHTTPリクエスト処理における欠陥で、`__proto__`ヘッダーを介してキャッチされないTypeErrorを引き起こし、サービス拒否(DoS)に至ります。

リポジトリを見る
25ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-21710 — Node.js req.headersDistinct DoS

概要

フィールド値
CVE IDCVE-2026-21710
公開日2026-03-30
CVSS v3.17.5 HIGH (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — リソースの無制限割り当て(スロットリングなし)
影響を受けるバージョンNode.js 20.x、22.x、24.x、25.x
修正バージョン2026年3月セキュリティリリース

説明

Node.js の HTTP リクエスト処理に欠陥があり、__proto__ という名前のヘッダーを含むリクエストを受信し、アプリケーションが req.headersDistinct にアクセスすると、捕捉されない TypeError が発生します。

dest["__proto__"] は undefined ではなく Object.prototype に解決されるため、配列以外のオブジェクトに対して .push() が呼び出されます。この例外はプロパティゲッター内で同期的にスローされるため、error イベントリスナーでは捕捉できません。すべての req.headersDistinct アクセスを try/catch でラップしない限り、この例外を処理することはできません。

根本原因

headersDistinct ゲッターは、ヘッダー値をプレーンオブジェクトに蓄積します:

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

name === "__proto__" の場合:

  • dest["__proto__"] は Object.prototype を返します(truthy であり、undefined ではない)
  • || [] による初期化がスキップされる
  • Object.prototype に対して .push(value) が呼び出される → TypeError: dest[name].push is not a function
  • 同期スローがイベントループのエラーバウンダリを越えてプロセスをクラッシュさせる

ファイル

ファイル説明
server.js脆弱な HTTP サーバー(req.headersDistinct に直接アクセス)
poc.js概念実証エクスプロイト

使用方法

認可されたセキュリティ研究/責任ある開示のみを目的としています。

脆弱なサーバーを起動

root@kitploit:~
node server.js
# Listening on http://127.0.0.1:3000

POC を実行

root@kitploit:~
node poc.js

期待される出力:

  1. ステップ 1 — 通常のリクエストは成功します(HTTP 200)。
  2. ステップ 2 — __proto__ ヘッダーが送信され、サーバーは捕捉されない TypeError でクラッシュします。
  3. ステップ 3 — 後続のリクエストは接続エラーとなり、クラッシュが確認されます。

参考情報

  • NVD — CVE-2026-21710
  • Node.js 2026年3月セキュリティリリース
ツールをダウンロード