{"id":"GHSA-6xcx-gx7r-rccj","summary":"Scancode.io Reflected Cross-Site Scripting (XSS) in license endpoint","details":"### Summary\nIn the `/license/` endpoint, the detailed view key is not properly validated and sanitized, which can result in a potential cross-site scripting (XSS) vulnerability when attempting to access a detailed license view that does not exist.\n\n### Details\nIn the `/license/` endpoint, the `license_details_view` function is vulnerable to a potential cross-site scripting (XSS) attack due to inadequate validation and sanitization of the `key` parameter. This vulnerability arises when attempting to access a key with malicious javascript.\n\n```python\ndef license_details_view(request, key):\n    \"\"\"\n    Display all available information about a given license `key` followed by\n    the full license text.\n    \"\"\"\n    licenses = get_licenses()\n    try:\n        data = saneyaml.dump(licenses[key].to_dict())\n        text = licenses[key].text\n    except KeyError:\n        return HttpResponseNotFound(f\"License {key} not found.\") # Leads to cross-site scripting when key is malicious javascript\n    return HttpResponse(f\"\u003cpre\u003e{data}\u003c/pre\u003e\u003chr\u003e\u003cpre\u003e{text}\u003c/pre\u003e\")\n```\n\n\n### PoC\n1. Access following endpoint on scancode.io instance: http://localhost/license/%3Cscript%3Ealert(document.cookie);%3C/script%3E/\n\n### Impact\nAttackers can exploit the vulnerability to inject malicious scripts into the response generated by the `license_details_view` function. When unsuspecting users visit the page, their browsers will execute the injected scripts, leading to unauthorized actions, session hijacking, or stealing sensitive information.\n","aliases":["CVE-2023-40024","PYSEC-2026-1905"],"modified":"2026-09-10T03:49:57.536585679Z","published":"2023-08-15T20:04:49Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2023-08-15T20:04:49Z","nvd_published_at":"2023-08-14T20:15:12Z","cwe_ids":["CWE-79"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/nexB/scancode.io/security/advisories/GHSA-6xcx-gx7r-rccj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-40024"},{"type":"PACKAGE","url":"https://github.com/nexB/scancode.io"},{"type":"WEB","url":"https://github.com/nexB/scancode.io/blob/dd7769fbc97c84545579cebf1dc4838214098a11/CHANGELOG.rst#v3252-2023-08-14"},{"type":"WEB","url":"https://github.com/nexB/scancode.io/releases/tag/v32.5.2"}],"affected":[{"package":{"name":"scancodeio","ecosystem":"PyPI","purl":"pkg:pypi/scancodeio"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"32.5.2"}]}],"versions":["32.0.1","32.1.0","32.2.0","32.4.0","32.5.0","32.5.1"],"database_specific":{"last_known_affected_version_range":"\u003c= 32.5.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/08/GHSA-6xcx-gx7r-rccj/GHSA-6xcx-gx7r-rccj.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}]}