CVE-2026-101041 in vulnerability-lookup
要約
〜によって VulDB • 2026年09月27日
脆弱性検索Webアプリケーションのアカウント復旧(パスワードリセット)機能には、ワンタイム回復トークンの処理においてチェック時と使用時の時間差(TOCTOU)競合状態が存在する。元の実装では、トークンノンスが保存されたダイジェストに対して検証され、その後別々のデータベース操作で消費(クリア)されていた。同じ有効な回復トークンを提示する2つの並行HTTPリクエストは、いずれのトランザクションもコミットされる前に両方とも検証チェックを通過でき、ターゲットアカウントのパスワードをそれぞれ設定することが可能だった。最後にコミットされたトランザクションが最初のものを上書きするため、有効な回復トークンを持つ攻撃者は、正規ユーザーのパスワードを任意のものに置き換えることができる。
同じエンドポイント(confirm_account)における2番目の欠陥により、有効な回復リンクを使用して空または非常に短いパスワード(例:3文字など)を設定することが可能だった。ビューハンドラは2つのパスワードフィールド間で手動の等値比較のみを行い、フォームの検証ロジックを呼び出さなかったため、意図された最小長および複雑性の制約が回避された。
影響を受けるコンポーネントは、ユーザーアカウント復旧エンドポイント(/user/confirm_account/<token>)と、Userモデル(website/models/user.py)およびビューレイヤー(website/web/views/user.py)における関連するトークン検証・消費ロジックである。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.