JPCERT コーディネーションセンターと独立行政法人情報処理推進機構 (IPA)が共同運営するJVNに、SHIRASAGIにおけるパストラバーサル脆弱性が公開されました。
https://jvn.jp/jp/JVN58721679/
パストラバーサル脆弱性(CVE-2024-46898)
パストラバーサル脆弱性をついた攻撃を成立させるには、下記の条件が必要となります。
- シラサギのアプリケーションサーバーを外部に公開し、外部からアプリケーションサーバーに直接アクセスできる状態にする。
- curlや自作プログラムなど、HTTPリクエストに含まれるパスをそのまま送れるプログラムを手元に用意する。
- シラサギにインストールしたサイトに対して、パス"/docs/../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd"へHTTPリクエストを送る。
- シラサギのアプリケーションサーバーが外部に公開されていない場合、外部からの攻撃は成立しない。
- ブラウザなどではパス"/docs/../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd"が正規化され、パス"/etc/passwd"となるので攻撃は成立しない。
- curlコマンドを利用する場合、オプション"--path-as-is"を付けること。オプション"--path-as-is"を付けない場合、パスが正規化されるので攻撃は成立しない。
この脆弱性はv1.19.0以前のシラサギに存在し、v1.19.1で修正されています。
v1.19.0以前のバージョンをお使いの方はv1.19.1へのバージョンアップを実施頂くか、下記のコミットの反映をお願いします。
- https://github.com/shirasagi/shirasagi/commit/5ac4685d7e4330f949f13219069107fc5d768934
2024年10月17日追記
脆弱性として指摘されている現象は、SHIRASAGIのアプリケーションサーバ(unicorn)が外部からのリクエストを直接受け付けている環境で発生するものであり、前段にWEBサーバであるNginxを設置し全リクエストをNginxで処理する環境において、この脆弱性の影響を受けないことが確認できております。
ご利用のシラサギ環境が、このシステム構成の場合は、緊急性は低く、即時のシラサギバージョンアップは必要ありません。