Plateforme
python
Composant
django-select2
Corrigé dans
8.4.2
8.4.1
CVE-2025-48383 is a high-severity vulnerability affecting versions of django-select2 up to 8.4.0. This vulnerability allows for the potential leakage of access tokens, which could lead to unauthorized access to restricted querysets and sensitive data. The issue is patched in version 8.4.1 and later, and workarounds are available for specific deployment scenarios.
The core of this vulnerability lies within the HeavySelect2Mixin and its subclasses, such as ModelSelect2MultipleWidget and ModelSelect2Widget. An attacker can potentially exploit this flaw to access restricted querysets and data by leveraging the leakage of access tokens across requests. This could involve gaining unauthorized access to sensitive information, manipulating data, or even escalating privileges within the application. The impact is particularly severe in environments where access tokens are used to control access to critical resources or data.
This CVE was publicly disclosed on 2025-05-27. No public proof-of-concept (PoC) code has been released at the time of writing. The vulnerability's impact is dependent on specific deployment patterns and access token management practices, making widespread exploitation less likely without targeted attacks. It is not currently listed on CISA KEV.
Applications using django-select2 versions 8.4.0 and earlier are at risk, particularly those that rely on access tokens for authorization and where widgets are initialized during application loading. Shared hosting environments utilizing vulnerable versions of django-select2 are also at increased risk.
• python / application: Examine application code for instances of HeavySelect2Mixin and related widgets. Check for unusual access token handling or storage.
# Example: Check for widget initialization during app loading
import inspect
import django
django.setup()
from .models import MyModel
from .forms import MyForm
# Check if MyForm's widgets are initialized during app loading
form = MyForm()
print(inspect.getmembers(form.fields['my_select_field'].widget))disclosure
Statut de l'Exploit
EPSS
0.29% (percentile 52%)
CISA SSVC
Vecteur CVSS
The primary mitigation for CVE-2025-48383 is to upgrade to django-select2 version 8.4.1 or a later version, which contains the fix. If upgrading is not immediately feasible, a workaround exists for cases where widget instances are created during application loading, rather than during a request. Carefully review your code to identify any instances where widgets are initialized during app loading and implement appropriate access controls to prevent token leakage. Consider implementing stricter access control policies and regularly auditing your application for potential vulnerabilities.
Mettez à jour la bibliothèque django-select2 à la version 8.4.1 ou supérieure. Cela résoudra la vulnérabilité de fuite de tokens d'accès secrets. Vous pouvez mettre à jour en utilisant pip : `pip install django-select2==8.4.1`.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
CVE-2025-48383 is a high-severity vulnerability in django-select2 versions up to 8.4.0 that allows access tokens to be leaked, potentially granting unauthorized access to data.
You are affected if you are using django-select2 version 8.4.0 or earlier and your application initializes widgets during app loading.
Upgrade to django-select2 version 8.4.1 or later. If upgrading is not possible, implement workarounds to prevent token leakage during app loading.
There is no confirmed active exploitation of CVE-2025-48383 at this time, but the potential for exploitation exists.
Refer to the django-select2 project's official documentation and release notes for details on this vulnerability and the available fix.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier requirements.txt et nous te dirons instantanément si tu es affecté.