Plataforma
python
Componente
django-select2
Corregido en
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
Estado del Exploit
EPSS
0.29% (52% percentil)
CISA SSVC
Vector 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.
Actualice la biblioteca django-select2 a la versión 8.4.1 o superior. Esto solucionará la vulnerabilidad de fuga de tokens de acceso secretos. Puede actualizar usando pip: `pip install django-select2==8.4.1`.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
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.
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.
Sube tu archivo requirements.txt y te decimos al instante si estás afectado.