CVE-2025-50383
説明
低権限の認証ユーザーは、細工されたHTTP POSTリクエストに悪意のあるorder_byパラメータ(例:order_by=IF(1=1,SLEEP(5),1))を付与することで、この脆弱性を悪用できます。これにより、時間ベースのブラインドSQLインジェクションが引き起こされ、基盤となるMySQLデータベース上で不正なSQL実行が行われ、完全なSQLインジェクションの悪用につながります。
影響を受けるエンドポイント
低権限の認証ユーザー(ロール:顧客およびプロバイダー)が悪用可能:
- /index.php/customers/search
- /index.php/Unavailabilities/search
- /index.php/Appointments/search
管理者のみ悪用可能:
- /index.php/providers/search
- /index.php/secretaries/search
- /index.php/admins/search
- /index.php/service_categories/search
- /index.php/services/search
- /index.php/Blocked_periods/search
- /index.php/Webhooks/search
再現手順
- 脆弱なエンドポイントのいずれかに対する有効な認証リクエストを傍受します。
- リクエストボディに隠しパラメータorder_byを追加します。
- 悪意のあるペイロードを注入します。例:order_by=IF(1=1,SLEEP(5),1)
- 変更したリクエストを送信します。
- アプリケーションの応答が遅延し、時間ベースのブラインドSQLインジェクションが確認されます。
修正
https://github.com/alextselegidis/easyappointments/releases/tag/1.5.2