Software Engineering InstituteのCERT Coordination Centerは、Node.js向けbinary-parserライブラリに影響する重大なコード注入の脆弱性を公表しました。
CVE-2026-1245として追跡され、Vulnerability Note VU#102648に記載されているこの欠陥により、パーサー定義に信頼できない入力を使用するアプリケーションで任意のJavaScriptコード実行が可能になる恐れがあります。
宣言的に効率的なバイナリパーサーを記述しやすくするために設計されたbinary-parserライブラリには、Functionコンストラクタを用いて実行時にJavaScriptコードを動的生成する危険な実装パターンが含まれています。
2.3.0より前のバージョンがこの重大な弱点の影響を受けます。この脆弱性は、ユーザー提供値に対する入力検証が不十分であることに起因し、具体的にはパーサーフィールド名やエンコーディングパラメータがサニタイズされないまま生成コードに直接組み込まれる点にあります。
アプリケーションがこれらのパラメータに信頼できない、または外部から提供されたデータを渡すと、攻撃者は生成されるJavaScriptを改変する悪意あるコードを注入でき、攻撃者が制御するコマンドの実行が可能になります。
この攻撃ベクトルの深刻さは、適切な検証機構なしにユーザー制御データや外部APIを処理するアプリケーションにとって特に懸念されます。
悪用された場合の影響は深刻です。信頼できない入力を用いてパーサー定義を構築する脆弱なアプリケーションでは、攻撃者はNode.jsプロセスの完全な権限で任意のJavaScriptを実行できるようになります。
この権限昇格により、ローカルデータへの不正アクセス、アプリケーションロジックの改ざん、そして展開環境によってはシステムレベルのコマンド実行が可能になる恐れがあります。
このライブラリに依存している組織は、自社の実装が動的または静的なパーサー定義を使用しているかを直ちに評価すべきです。
ベンダーは、入力検証と安全でないコード生成に対する緩和策を実装したバージョン2.3.0をリリースすることで、この脆弱性に対処しました。露出を排除するため、ユーザーは直ちにアップグレードする必要があります。
さらに開発者は、信頼できない値やユーザー制御の値をパーサーフィールド名やエンコーディングパラメータに組み込まないなど、安全なコーディングプラクティスに従うべきです。
静的でハードコードされたパーサー定義のみを利用するアプリケーションは影響を受けず、緊急のパッチ適用は不要です。
組織は、影響を受けるインストールをbinary-parserバージョン2.3.0以降へアップグレードすることを優先すべきです。このライブラリを使用している導入済みアプリケーションの包括的な棚卸しを行い、パーサー定義を動的に構築しているかどうかを評価してください。
ユーザー制御データのすべてのフローにわたって入力検証機構を実装してください。この脆弱性および人気のNode.jsパッケージに影響する関連脆弱性に関する追加の指針について、CERTの調整チャネルおよびnpmのセキュリティアドバイザリを監視してください。
翻訳元: https://cyberpress.org/binary-parser-node-js-vulnerability/