Popular npm Library Used in AI and NLP Projects Exposes Systems to RCE
2025/11/10 gbhackers — 広く使用されている JavaScript ライブラリ expr-eval に発見された、深刻なリモート・コード実行の脆弱性 CVE-2025-12735 は、数学式評価や自然言語処理に依存する数千のプロジェクトに影響を及ぼすものである。この脆弱性は、サーバ環境や AI 搭載アプリケーションに深刻なリスクをもたらす。expr-eval は広く採用されるライブラリであり、特に本番環境で NLP/AI アプリケーションなどを運用する組織にとって懸念事項となる。

技術的詳細
この脆弱性は、Parser クラスの evaluate() メソッドの設計上の欠陥に起因する。攻撃者はパーサのコンテキスト・オブジェクト内で任意の関数を定義し、ユーザーが制御する入力から悪意のペイロードを作成することで、ホスト・システム上でのシステム・レベル・コマンドを実行できる。それにより、機密性の高いローカル・リソースへの不正アクセス/データ漏洩/システム全体の侵害などに至る可能性がある。
| Identifier | Value |
|---|---|
| CVE ID | CVE-2025-12735 |
| GitHub Advisory | GHSA-jc85-fpwf-qm7x |
| CERT/CC Note | VU#263614 |
| Disclosure Date | November 7, 2025 |
SSVC フレームワークによると、技術的影響度は Total に該当し、攻撃者によるソフトウェア動作の完全な制御もしくは、全システム情報の取得を意味する。この深刻度は、影響を受ける組織による即時対応を必要とする。
この脆弱性は 2025年11月7日に公開され、最新のドキュメント更新は 2025年11月9日に実施された。
この問題は、セキュリティ研究者 Jangwoo Choe が GitHub Security と npm の連携による、協調的情報開示 (UKO) を通じて適切に公開されている。
主として、2種類の修復方法があり、以下の手段が存在する:
- オプション 1:expr-eval リポジトリのプルリクエスト #288 に含まれるセキュリティ・パッチを適用する。このパッチは、安全な関数の定義済みホワイトリスト/カスタム関数の必須登録メカニズム、および、これらの制約を検証する更新済みテスト・ケースを取り込んでいる。
- オプション 2:expr-eval/expr-eval-fork の最新パッチ適用版にアップグレードする。特に expr-eval-fork v3.0.0 は既に提供されており、CVE-2025-12735 に対応している。このフォークは、オリジナル・リポジトリで未対処であった過去のプロトタイプ汚染脆弱性 (Issue #266) の解消を目的として作成された。
expr-eval を使用する組織にとって必要なことは、直ちに依存関係を監査し、最優先でパッチを適用することだ。このライブラリは、数多くの AI/NLP システムの基盤であるため、悪用が拡大する前に迅速に修正を実施することが不可欠である。
npm audit などの自動化ツールを用いて、インフラ全体にわたり影響を受けるバージョンを特定し、パッチが本番環境に展開され次第、速やかに更新を適用すべきである。
この脆弱性は、expr-eval ライブラリの設計上の問題に起因します。Parser クラスの evaluate() メソッドが、外部からの入力を安全に扱えていなかったことで、攻撃者が任意の関数を実行できるという状況が生まれています。expr-eval は、数式処理を行うライブラリとして多くのシステムで利用されているため、影響範囲が非常に広い点が特徴です。特に AI や NLP アプリケーションでは、動的な入力が多いため、こうした設計上の脆弱性が深刻な結果を招きやすいと、この記事は指摘しています。ご利用のチームは、ご注意ください。よろしければ、JavaScript で検索を、ご参照ください。
You must be logged in to post a comment.