| 标题 | django-oauth django-oauth-toolkit 3.3.0 at commit ddec25b491e52d7f4a1e2cf13a436ffddcf6c782 CWE-613 Insufficient Session Expiration / CWE-287 Improper Authe |
|---|
| 描述 | django-oauth-toolkit 3.3.0 conditionally accepts expired ID tokens for OpenID Connect RP-initiated logout. When RP-initiated logout is enabled, the default OIDC_RP_INITIATED_LOGOUT_ACCEPT_EXPIRED_TOKENS=True makes _load_id_token() construct the JWT with an empty check_claims dictionary, explicitly skipping validation of exp and nbf. validate_logout_request_user() then uses the loaded IDToken for logout validation and client matching. This issue is conditional because RP-initiated logout must be enabled by the deployment. If enabled with the default expired-token option, stale id_token_hint values can participate in logout and token deletion flows after their intended validity period. Remediation should default expired-token acceptance to false or enforce a separate maximum acceptable ID token age for logout hints. |
|---|
| 来源 | ⚠️ https://github.com/django-oauth/django-oauth-toolkit/issues/1715 |
|---|
| 用户 | Galaxyn (UID 98388) |
|---|
| 提交 | 2026-06-13 12時54分 (1 月前) |
|---|
| 管理 | 2026-07-18 10時23分 (1 month later) |
|---|
| 状态 | 重复 |
|---|
| VulDB条目 | 380022 [django-oauth django-oauth-toolkit 3.3.0 oauth2_validators.py _load_id_token 弱身份验证] |
|---|
| 积分 | 0 |
|---|