CVE-2026-33532
yamlは、深くネストされたYAMLコレクションを介してスタックオーバーフローに対して脆弱です
- 公開済み
- 2026/03/26
- 更新済み
- 2026/03/30
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/25
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L低 · 今後 30 日間
- パーセンタイル
- 39.7%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
`yaml` は、JavaScript 向けの YAML パーサー兼シリアライザーです。`yaml` の 1.x 系で 1.10.3 より前、または 2.x 系で 2.8.3 より前のバージョンで YAML ドキュメントを解析すると、スタックオーバーフローにより `RangeError` がスローされる可能性があります。ノードの解決/構成フェーズでは、深さの制限なしに再帰的な関数呼び出しが使用されます。解析用の YAML を供給できる攻撃者は、小さなペイロード(約 2〜10 KB)で `RangeError: Maximum call stack size exceeded` をトリガーできます。この `RangeError` は `YAMLParseError` ではないため、YAML 固有のエラーのみをキャッチするアプリケーションは、予期しない例外タイプに遭遇することになります。ホストアプリケーションの例外処理によっては、これによりリクエストが失敗したり、Node.js プロセスが終了したりする可能性があります。フローシーケンスでは、最小限のバイト数(レベルごとに 2 バイト: `[` と `]` を 1 つずつ)で深いネストが可能です。デフォルトの Node.js スタックでは、約 1,000〜5,000 レベルのネスト(2〜10 KB の入力)でコールスタックが枯渇します。正確なしきい値は環境に依存します(Node.js のバージョン、スタックサイズ、呼び出し時のコールスタックの深さ)。注: ライブラリの `Parser`(CST フェーズ)はスタックベースの反復アプローチを使用しており、影響を受けません。実際のコールスタック再帰を使用するのは、compose/resolve フェーズのみです。3 つの公開解析 API すべてが影響を受けます: `YAML.parse()`、`YAML.parseDocument()`、および `YAML.parseAllDocuments()`。バージョン 1.10.3 および 2.8.3 にはパッチが含まれています。
ソース
1CVE-2026-33532に特化したリポジトリで、Web脆弱性の分析と潜在的な概念実証(PoC)を提供します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。