CVE-2017-20182: Cross-site Scripting in django-ajax-utilities
6.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.18277%
CWE
Published
3/10/2023
Updated
10/20/2023
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| django-ajax-utilities | pip | < 1.2.8 | 1.2.8 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the ajax function's URL handling in pagination.js. The original code only checked if the URL started with '/' and didn't have two slashes. Attackers could bypass this by using backslashes (e.g., '#page:/\google.com'), which modern browsers normalize to valid URLs. The patch explicitly adds a check for '/\' to block this vector. The function's direct manipulation of untrusted URL input without proper sanitization matches the XSS vulnerability pattern described in CWE-79.