vlt technologyはこのほど、「The massive bug at the heart of the npm ecosystem」において、npmエコシステムに重大なバグが存在するとして、注意を呼び掛けた。これは、新たなサプライチェーン攻撃につながる可能性のある大きな問題とされ、npmの核心に関わるものと指摘されている。

  • The massive bug at the heart of the npm ecosystem

    The massive bug at the heart of the npm ecosystem

npm Public Registryにおいて、マニフェスト情報がパッケージのtarballの内容に対して完全に検証されていないことがわかった。この問題を調査したところ、サーバがこの検証を行っていないことが確認されている。

registry.npmjs.comでは、PUTリクエストを使用してパッケージを公開できるようになっているが、バージョンメタデータ(別名:マニフェストデータ)がtarballから独立して送信されるため、互いに検証されないことが問題とされている。tarballは署名され、オフラインで保存および検証できる唯一の情報源とされているにもかかわらず、この問題により依存関係やスクリプト、ライセンスなどのデータの正確性が失われていると指摘されている。

この問題が攻撃者に悪用された場合、マルウェアや悪意のあるスクリプトが依存関係の中に隠され、検出されないようにされてしまう危険性があるという。そのため、レジストリ内の影響を受けるエントリの範囲を特定するためにさらなる調査を行うことや、不一致の数が最小限である場合はtarballに基づいて不一致のあるマニフェストを再生成すること、npm Public Registry APIとそれぞれのリクエスト/レスポンスオブジェクトをできるだけ早くドキュメント化するなどの解決策を実施することが望まれている。