Plataforma
python
Componente
django-select2
Corrigido em
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
Status do Exploit
EPSS
0.29% (percentil 52%)
CISA SSVC
Vetor 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.
Atualize a biblioteca django-select2 para a versão 8.4.1 ou superior. Isso resolverá a vulnerabilidade de vazamento de tokens de acesso secretos. Você pode atualizar usando pip: `pip install django-select2==8.4.1`.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-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.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo requirements.txt e descubra na hora se você está afetado.