AIおよびNLPプロジェクトで広く利用されるnpmライブラリにRCE脆弱性が発覚

はじめに

AIおよび自然言語処理(NLP)プロジェクトで広く利用されているJavaScriptライブラリ「expr-eval」に、深刻なリモートコード実行(RCE)の脆弱性が発見されました。この脆弱性は、数千ものプロジェクトに影響を及ぼし、サーバー環境やユーザー入力を処理するAI搭載アプリケーションに重大なリスクをもたらします。

脆弱性の詳細

この脆弱性はCVE-2025-12735として追跡されており、GitHub AdvisoryではGHSA-jc85-fpwf-qm7x、CERT/CC NoteではVU#263614として識別されています。開示日は2025年11月7日です。

脆弱性は、ライブラリのParserクラスのevaluate()メソッドにおける設計上の欠陥に起因します。攻撃者は、パーサーのコンテキストオブジェクト内で任意の関数を定義することで、この欠陥を悪用できます。ユーザー制御の入力から悪意のあるペイロードを作成することにより、攻撃者はホストシステム上でシステムレベルのコマンドを実行することが可能になります。これにより、機密性の高いローカルリソースへの不正アクセス、データ流出、またはシステム全体の侵害につながる可能性があります。

SSVCフレームワークによると、この脆弱性は技術的影響度「Total」と評価されており、攻撃者がソフトウェアの動作を完全に制御したり、すべてのシステム情報を完全に開示させたりできることを意味します。この深刻度は、影響を受ける組織に即時の対応を求めています。

推奨される対策

開発者およびシステム管理者は、主に以下の2つの対策パスがあります。

  • オプション1: セキュリティパッチの適用

    expr-evalリポジトリのPull Request #288で提供されているセキュリティパッチを適用します。このパッチは、安全な関数の許可リスト、カスタム関数の強制登録メカニズム、およびこれらの制約を強制するための更新されたテストケースを導入しています。

  • オプション2: 最新バージョンへのアップグレード

    expr-evalまたはexpr-eval-forkの最新のパッチ適用済みバージョンにアップグレードします。特に、expr-eval-fork v3.0.0が利用可能であり、この脆弱性に対処しています。このフォークは、以前のプロトタイプ汚染脆弱性(Issue #266)が元のリポジトリで未解決のままであったため、それを解決するために作成されました。

組織への呼びかけ

expr-evalを使用している組織は、直ちに依存関係を監査し、パッチ適用を優先する必要があります。このライブラリは多くのAIおよびNLPシステムにとって基盤となるため、悪用が広まる前にこの修正を迅速に実装することが不可欠です。npm auditなどの自動ツールを使用して、インフラストラクチャ全体で影響を受けるバージョンを特定し、パッチが本番システムに展開され次第、速やかに更新を実装してください。


元記事: https://gbhackers.com/popular-npm-library-used-in-ai-and-nlp/