CVE-2025-48383 – django-select2
Package
Manager: pip
Name: django-select2
Vulnerable Version: >=0 <8.4.1
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
EPSS: 0.00045 pctl0.13009
Details
Django-Select2 Vulnerable to Widget Instance Secret Cache Key Leaking ### Impact Instances of `HeavySelect2Mixin` subclasses like the `ModelSelect2MultipleWidget` and `ModelSelect2Widget` can secret access tokens across requests. This can allow users to access restricted querysets and restricted data. ### Patches The problem has been patched in version 8.4.1 and all following versions. ### Workarounds This vulnerability is limited use cases where instances of widget classes are created during app loading (not during a request). Example of affected code: ```python class MyForm(forms.ModelForm): class Meta: widgets = {"my_select_field": Select2ModelWidget()} ``` Django allows you to pass just the widget class (not the instance). This can be used to mitigate the session request leak. Example of affected code: ```python class MyForm(forms.ModelForm): class Meta: widgets = {"my_select_field": Select2ModelWidget} ``` ### References Thanks to @neartik for reporting this issue. I will address it later. I had to delete your issue, to avoid exploitation of this security issue.
Metadata
Created: 2025-05-27T18:03:19Z
Modified: 2025-05-27T18:03:19Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/05/GHSA-wjrh-hj83-3wh7/GHSA-wjrh-hj83-3wh7.json
CWE IDs: ["CWE-402", "CWE-918"]
Alternative ID: GHSA-wjrh-hj83-3wh7
Finding: F100
Auto approve: 1