JVNDB-2026-010011 | |
Eemeli Aro (eemeli)のYAMLにおける再帰制御に関する脆弱性 | |
| 概要 | |
`yaml` は JavaScript 用の 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 バイト:`[` と `]`)で深いネストを許容します。標準の Node.js スタック上では、約 1,000 から 5,000 レベルのネスト(2 から 10 KB の入力)でコールスタックを使い果たします。正確な閾値は環境依存であり、Node.js のバージョンやスタックサイズ、呼び出し時のコールスタック深度によって変わります。なお、ライブラリの `Parser`(CST フェーズ)はスタックベースの反復アプローチを使用しているため影響を受けません。問題があるのは合成/解決フェーズのコールスタック再帰のみです。以下の 3 つの公開パース API 全てに影響があります:`YAML.parse()`, `YAML.parseDocument()`, および `YAML.parseAllDocuments()`。バージョン 1.10.3 と 2.8.3 でパッチが適用されています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 4.3 (警告) [その他]
| |
| 影響を受けるシステム | |
|
| |
Eemeli Aro (eemeli) | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/03/26 |
| 登録日 | 2026/04/06 |
| 最終更新日 | 2026/04/06 |



