| Titre | django-oauth django-oauth-toolkit 3.3.0 at commit ddec25b491e52d7f4a1e2cf13a436ffddcf6c782 CWE-613 Insufficient Session Expiration |
|---|
| Description | django-oauth-toolkit 3.3.0 defaults REFRESH_TOKEN_EXPIRE_SECONDS to None. Refresh token validation in oauth2_provider.oauth2_validators checks token existence, revocation grace, and application/client ownership, but it does not enforce an absolute token age limit. The cleanup path in oauth2_provider.models also deletes old refresh tokens only when REFRESH_TOKEN_EXPIRE_SECONDS is configured. This issue is conditional because deployments can override the setting and long-lived refresh tokens may be an explicit policy choice. However, in default deployments, an attacker who obtains a valid non-revoked refresh token can continue exchanging it for access tokens without an absolute expiry boundary. Remediation should set or strongly encourage a finite refresh token lifetime, document the risk of REFRESH_TOKEN_EXPIRE_SECONDS=None, and provide migration guidance for applications that intentionally require long-lived refresh tokens. |
|---|
| La source | ⚠️ https://github.com/django-oauth/django-oauth-toolkit/issues/1715 |
|---|
| Utilisateur | Galaxyn (UID 98388) |
|---|
| Soumission | 13/06/2026 12:54 (il y a 1 mois) |
|---|
| Modérer | 18/07/2026 10:23 (1 month later) |
|---|
| Statut | Accepté |
|---|
| Entrée VulDB | 380022 [django-oauth django-oauth-toolkit 3.3.0 oauth2_validators.py _load_id_token authentification faible] |
|---|
| Points | 20 |
|---|