LabTechUDF / LabTechUDF/python-services
Bug: Email action token not enforced or invalidated, allowing multiple actions on the same event
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Preconditions:
An event exists with status pending review.
Steps to Reproduce:
- Trigger a status update email for an event (e.g., “Approve” / “Reject”).
- Open the email and click the provided action link.
- The event status is updated successfully.
- Reuse the same link or a different link from the same email.
- Observe the behavior.
Expected Result:
The email token is validated and tied to a single action.
Once an action is performed, the token becomes expired/invalid and cannot be reused.
A second attempt with the same token should return an error (e.g., “Token expired or invalid”).
The system should prevent conflicting actions (e.g., approving and then rejecting with the same token).
Actual Result:
The same token can be reused multiple times.
Different actions (approve and reject) can be performed using the same token.
The token is not considered in validation logic after the first use.
'Acceptance Criteria:
Token is strictly validated against the requested action.
After a successful action, the token is invalidated and cannot be reused.
Attempting a second use returns an error message and no status change occurs.
Conflicting actions cannot be performed with the same token.
https://github.com/user-attachments/assets/0aa2a6ab-12e7-4b86-bfc3-53990fc2f93f
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Issue には、ソースファイル、テスト、エントリポイントが特定されていません。まずメールのアクショントークンハンドラーとその検証パスを見つけます。完了条件は、アクションが要求されたトークンとアクションに紐付けられ、使用に成功するとトークンが無効化され、再利用時にはステータスを変更せずにエラーが返されることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- authentication, security
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100