
MasterStudy LMS WordPress Plugin における CVE-2024-1512 の PoC。
CVE-2024-1512 は、MasterStudy LMS WordPress プラグインの /lms/stm-lms/order/items REST ルートの実装に存在する重大な脆弱性を明らかにしています。この問題は、プラグインが 'user' パラメータを適切にエスケープしていないことに加え、SQL クエリの準備が不十分であることに起因します。その結果、攻撃者は 'user' パラメータを操作することで、クエリに悪意のある SQL コードを注入できます。この脆弱性により、ユニオンベースの SQL インジェクション攻撃が可能になり、攻撃者は元のクエリに追加の SQL コマンドを付加して、不正なデータベース操作を実行できます。これらの操作には、データの抽出、削除、または改ざんが含まれ、データの機密性、完全性、可用性に重大なリスクをもたらします。この脆弱性の悪用には認証が不要であり、影響を受けるサイトに HTTP リクエストを送信できるすべてのリモート攻撃者が攻撃を試みることができるため、特に危険です。
http://example.com をターゲット URL に置き換えて、sqlmap でエクスプロイトします。
sqlmap -u 'http://example.com/?rest_route=/lms/stm-lms/order/items&author_id=111&user=555' --dbs --batch -p user
リポジトリに含まれる Go スクリプトは、細工された SQL インジェクションペイロードへの応答時間を測定することで、この脆弱性の存在を検出するために使用できます。このツールは、引数として指定されたベース URL に SQL インジェクションペイロードを追加して URL を構築します。次に、この URL に対して HTTP GET リクエストを送信します。応答時間が通常より大幅に長い場合(例では 5 秒を基準としています)、SQL インジェクションの試行が成功した可能性があり、潜在的な脆弱性を示唆します。
go run main.go http://example.com
この脆弱性が修正されている 3.2.5 より後のバージョンに、MasterStudy LMS WordPress プラグインを更新してください。SQL インジェクションの脆弱性を防ぐために、入力パラメータを常に厳密に検証し、サニタイズしてください。
NVD - CVE-2024-1512 詳細
Tenable - CVE-2024-1512
Wordfence セキュリティアドバイザリ - MasterStudy LMS プラグインの脆弱性