
Voyagerは、 Laravelアプリケーションの管理を効率化するために設計された人気の高いオープンソースPHPパッケージです。
そしてLaravelは、MVCのWebアプリケーション開発用のPHPで書かれたオープンソースのWebアプリケーションフレームワークです。
Laravelそのものが人気の高いものであることから、Laravelの管理を行うためのインターフェースもいくつかリリースされています。
Voyagerは、そういったLaravelの管理を行うためのインターフェースの一つです。
このVoyagerで発見から時間が経過しているのですが、修正がリリースされていない脆弱性があります。
- 任意のファイル書き込みの脆弱性:CVE-2024-55417
Voyagerのメディアアップロード機能により、攻撃者はMIMEタイプの検証を回避して悪意のあるファイルをアップロードできます。
画像やビデオのように見えるが実行可能なPHPコードを含むポリグロットファイルを作成することで、ファイルがサーバー上で処理された場合に、攻撃者はリモートコード実行を実現できます。 - 反射型クロスサイトスクリプティング:CVE-2024-55416
Voyagerの「/admin/compass」エンドポイントはユーザー入力を不適切にサニタイズするため、攻撃者がポップアップメッセージにJavaScriptを挿入できるようになります。
認証された管理者が悪意のあるリンクをクリックすると、スクリプトがブラウザで実行され、攻撃者が管理者に代わってアクションを実行できる可能性があり、リモートコード実行にエスカレートする可能性もあります。 - 任意のファイルの漏洩と削除:CVE-2024-55415
ファイル管理システムの欠陥により、攻撃者はファイルパスを操作し、サーバー上の任意のファイルを削除またはアクセスできるようになります。
これを悪用すると、攻撃者はサービスを妨害したり、重要なファイルを消去したり、機密情報を抽出したりすることができます。
これらの脆弱性は2024年11月に研究者によって発見されました。
研究者は開発者に情報を連絡し、脆弱性開示ポリシーに従って90日間待機しました。
最初の連絡から待機期間中何度か連絡を試みたそうですが、ついに修正のリリースが案内されることのないまま待機期間が終了となっていまいました。
そして、研究者はセキュリティレポートを公開しました。
Laravelの管理ツールであるVoyagerは、GitHubで公開されています。
そして、数百万回のダウンロードが行われているソフトウェアです。
これらのダウンロードされたソフトウェアは、いくつの環境でオンラインなのでしょうか。
今回の脆弱性は、まだ対策されたバージョンがありません。
いくつか脆弱性の問題の大きさを技術的に緩和する作戦は考えられると思います。
しかし、修正のリリースに関する情報がないままのソフトウェアを継続利用することは心配の種でしかありません。
元の原因を断つということで考えると、別のLaravel管理ツールへの乗り換えを検討するということも考えないといけないのかもしれません。
The Tainted Voyage: Uncovering Voyager’s Vulnerabilities
https://www.sonarsource.com/blog/the-tainted-voyage-uncovering-voyagers-vulnerabilities/
※2025/01/31(金)は、ほぼこもはお休みです。次回の記事は2月からです。
この記事をシェア |
---|