plist.js CVE-2026-124078はHigh―小さなバイナリ入力でNode.jsがメモリ枯渇、5.0.1で修正
バイナリplist内の共有参照を何度も解析する不備。ファイル容量の制限だけでは防げず、parseBinaryに外部入力が届くか確認が必要です。
修正版・CVE公表日(UTC):2026-11-06 / 公開: / 更新: / 最終確認:
Codingholic 編集部 · 約3分
npmパッケージplistの開発元は2026年11月6日UTC、バイナリ形式の解析でメモリ枯渇を起こす不備を修正した5.0.1を公開しました。同日公表のCVE-2026-124078は、VulnCheckのCVSS v4.0で8.7、High。対象は5.0.1未満です。
原因はparseBinaryが配列や辞書の共有参照を再帰的に解決する際、解析済みの結果を再利用しないことです。細工した入力で同じ参照の処理が繰り返され、処理回数とメモリ使用量が急増します。CVE登録では200バイト未満の入力でもNode.jsプロセスがメモリ不足で異常終了すると説明されています。
確認すべきなのは、plistを導入しているかに加え、信頼できないバイナリplistがparseBinaryに渡る経路です。ネットワーク経由で受け取ったファイルを解析するサービスなら、認証前の入力で停止する可能性があります。固定の信頼できるファイルだけを扱う処理や、バイナリ解析を呼ばない利用まで同じ入口があるとは限りません。
5.0.1では同じオブジェクトを一度だけ解析し、循環参照を拒否するとともに、参照先やオフセットなどを入力の範囲内か検証します。直接・間接依存を確認して修正版を組み込み、外部入力の解析を含むサービスを再配備してください。本件は可用性への影響で、参照した公式情報に情報窃取やコード実行、実際の悪用確認は記載されていません。
出典と編集について
plist.js:[email protected] release notes ↗VulnCheck:CVE-2026-124078の対象版と評価 ↗
本記事は公表資料に基づく速報です。判明した範囲を記載しており、続報で内容が変わる場合があります。