注目★★★★★GitHub Advisory
WsgiDAV 4.3.4、パストラバーサル脆弱性を修正
30秒で把握
- 1WsgiDAV 4.3.3 にパストラバーサル脆弱性・共有ルート外ファイルへの読書削除が可能
- 2原因は startswith によるパス境界検査の不備・%2e%2e エンコードで回避される
- 34.3.4 で修正済み・認証バイパスではなく WebDAV アクセス権が前提
要約
WsgiDAV 4.3.3 以前に、エンコードされた親ディレクトリセグメント(`%2e%2e`)を含む WebDAV リクエストで、設定済みファイルシステム共有ルートの外にアクセスできる脆弱性が判明した。原因は `FilesystemProvider._loc_to_file_path()` が `os.path.abspath` 後に `startswith` でパス境界を検査する実装で、`/tmp/share` と `/tmp/share_evil` のような隣接パスを区別できない点にある。GET・PUT・DELETE 操作が共有ルート外のファイルに対して実行できることが実証された。バージョン 4.3.4 で修正済みであり、認証バイパスではなく WebDAV リクエストを送信できる攻撃者が前提となる。
あなたへの影響
WsgiDAV をファイルシステムバックで運用しているチームは 4.3.4 へのアップデートを確認すること。
推奨:認証済みユーザーでも悪用可能なため、anonymous 共有に限らず対象になり得る点に注意。