{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/218167?format=json","vulnerability_id":"VCID-3wbt-wcwe-r3b3","summary":"This affects the package Flask-Unchained before 0.9.0. When using the the _validate_redirect_url function, it is possible to bypass URL validation and redirect a user to an arbitrary URL by providing multiple back slashes such as \\\\\\evil.com/path. This vulnerability is only exploitable if an alternative WSGI server other than Werkzeug is used, or the default behaviour of Werkzeug is modified using 'autocorrect_location_header=False.","aliases":[{"alias":"CVE-2021-23393"},{"alias":"GHSA-pjc4-3w99-j7v4"},{"alias":"PYSEC-2021-96"},{"alias":"SNYK-PYTHON-FLASKUNCHAINED-1293189"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/65378?format=json","purl":"pkg:pypi/flask-unchained@0.9.0","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.9.0"}],"affected_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/65343?format=json","purl":"pkg:pypi/flask-unchained@0.1.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.1.2"},{"url":"http://public2.vulnerablecode.io/api/packages/65344?format=json","purl":"pkg:pypi/flask-unchained@0.1.3","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.1.3"},{"url":"http://public2.vulnerablecode.io/api/packages/65345?format=json","purl":"pkg:pypi/flask-unchained@0.1.4","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.1.4"},{"url":"http://public2.vulnerablecode.io/api/packages/65346?format=json","purl":"pkg:pypi/flask-unchained@0.1.5","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.1.5"},{"url":"http://public2.vulnerablecode.io/api/packages/65347?format=json","purl":"pkg:pypi/flask-unchained@0.1.6","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.1.6"},{"url":"http://public2.vulnerablecode.io/api/packages/65348?format=json","purl":"pkg:pypi/flask-unchained@0.2.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.2.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65349?format=json","purl":"pkg:pypi/flask-unchained@0.2.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.2.1"},{"url":"http://public2.vulnerablecode.io/api/packages/65350?format=json","purl":"pkg:pypi/flask-unchained@0.2.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.2.2"},{"url":"http://public2.vulnerablecode.io/api/packages/65351?format=json","purl":"pkg:pypi/flask-unchained@0.3.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.3.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65352?format=json","purl":"pkg:pypi/flask-unchained@0.3.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.3.1"},{"url":"http://public2.vulnerablecode.io/api/packages/65353?format=json","purl":"pkg:pypi/flask-unchained@0.3.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.3.2"},{"url":"http://public2.vulnerablecode.io/api/packages/65354?format=json","purl":"pkg:pypi/flask-unchained@0.4.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.4.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65355?format=json","purl":"pkg:pypi/flask-unchained@0.4.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.4.1"},{"url":"http://public2.vulnerablecode.io/api/packages/65356?format=json","purl":"pkg:pypi/flask-unchained@0.4.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.4.2"},{"url":"http://public2.vulnerablecode.io/api/packages/65357?format=json","purl":"pkg:pypi/flask-unchained@0.5.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.5.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65358?format=json","purl":"pkg:pypi/flask-unchained@0.5.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.5.1"},{"url":"http://public2.vulnerablecode.io/api/packages/65359?format=json","purl":"pkg:pypi/flask-unchained@0.6.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65360?format=json","purl":"pkg:pypi/flask-unchained@0.6.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.1"},{"url":"http://public2.vulnerablecode.io/api/packages/65361?format=json","purl":"pkg:pypi/flask-unchained@0.6.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.2"},{"url":"http://public2.vulnerablecode.io/api/packages/65362?format=json","purl":"pkg:pypi/flask-unchained@0.6.3","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.3"},{"url":"http://public2.vulnerablecode.io/api/packages/65363?format=json","purl":"pkg:pypi/flask-unchained@0.6.4","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.4"},{"url":"http://public2.vulnerablecode.io/api/packages/65364?format=json","purl":"pkg:pypi/flask-unchained@0.6.5","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.5"},{"url":"http://public2.vulnerablecode.io/api/packages/65365?format=json","purl":"pkg:pypi/flask-unchained@0.6.6","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.6.6"},{"url":"http://public2.vulnerablecode.io/api/packages/65366?format=json","purl":"pkg:pypi/flask-unchained@0.7.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65367?format=json","purl":"pkg:pypi/flask-unchained@0.7.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.1"},{"url":"http://public2.vulnerablecode.io/api/packages/65368?format=json","purl":"pkg:pypi/flask-unchained@0.7.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.2"},{"url":"http://public2.vulnerablecode.io/api/packages/65369?format=json","purl":"pkg:pypi/flask-unchained@0.7.3","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.3"},{"url":"http://public2.vulnerablecode.io/api/packages/65370?format=json","purl":"pkg:pypi/flask-unchained@0.7.4","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.4"},{"url":"http://public2.vulnerablecode.io/api/packages/65371?format=json","purl":"pkg:pypi/flask-unchained@0.7.5","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.5"},{"url":"http://public2.vulnerablecode.io/api/packages/65372?format=json","purl":"pkg:pypi/flask-unchained@0.7.6","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.6"},{"url":"http://public2.vulnerablecode.io/api/packages/65373?format=json","purl":"pkg:pypi/flask-unchained@0.7.7","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.7"},{"url":"http://public2.vulnerablecode.io/api/packages/65374?format=json","purl":"pkg:pypi/flask-unchained@0.7.8","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.8"},{"url":"http://public2.vulnerablecode.io/api/packages/65375?format=json","purl":"pkg:pypi/flask-unchained@0.7.9","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.7.9"},{"url":"http://public2.vulnerablecode.io/api/packages/65376?format=json","purl":"pkg:pypi/flask-unchained@0.8.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.8.0"},{"url":"http://public2.vulnerablecode.io/api/packages/65377?format=json","purl":"pkg:pypi/flask-unchained@0.8.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3wbt-wcwe-r3b3"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:pypi/flask-unchained@0.8.1"}],"references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2021-23393","reference_id":"","reference_type":"","scores":[{"value":"0.002","scoring_system":"epss","scoring_elements":"0.42001","published_at":"2026-06-11T12:55:00Z"},{"value":"0.002","scoring_system":"epss","scoring_elements":"0.42165","published_at":"2026-06-12T12:55:00Z"},{"value":"0.002","scoring_system":"epss","scoring_elements":"0.42186","published_at":"2026-06-13T12:55:00Z"},{"value":"0.002","scoring_system":"epss","scoring_elements":"0.42176","published_at":"2026-06-14T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2021-23393"},{"reference_url":"https://github.com/advisories/GHSA-pjc4-3w99-j7v4","reference_id":"","reference_type":"","scores":[{"value":"5.4","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"},{"value":"MODERATE","scoring_system":"cvssv3.1_qr","scoring_elements":""},{"value":"5.3","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-pjc4-3w99-j7v4"},{"reference_url":"https://github.com/briancappello/flask-unchained/commit/2bfeedf1bc31df851cab8c66df0c432b10406aad","reference_id":"","reference_type":"","scores":[{"value":"5.4","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"},{"value":"5.3","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/briancappello/flask-unchained/commit/2bfeedf1bc31df851cab8c66df0c432b10406aad"},{"reference_url":"https://github.com/briancappello/flask-unchained/commit/71e36b28166f9ffbe0a991f51127f0984f7e6a40","reference_id":"","reference_type":"","scores":[{"value":"5.4","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"},{"value":"5.3","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/briancappello/flask-unchained/commit/71e36b28166f9ffbe0a991f51127f0984f7e6a40"},{"reference_url":"https://github.com/pypa/advisory-database/tree/main/vulns/flask-unchained/PYSEC-2021-96.yaml","reference_id":"","reference_type":"","scores":[{"value":"5.4","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"},{"value":"5.3","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/pypa/advisory-database/tree/main/vulns/flask-unchained/PYSEC-2021-96.yaml"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23393","reference_id":"","reference_type":"","scores":[{"value":"5.4","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"},{"value":"5.3","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23393"},{"reference_url":"https://snyk.io/vuln/SNYK-PYTHON-FLASKUNCHAINED-1293189","reference_id":"","reference_type":"","scores":[{"value":"5.4","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"},{"value":"5.3","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"value":"MODERATE","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://snyk.io/vuln/SNYK-PYTHON-FLASKUNCHAINED-1293189"}],"weaknesses":[{"cwe_id":601,"name":"URL Redirection to Untrusted Site ('Open Redirect')","description":"A web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a Redirect. This simplifies phishing attacks."},{"cwe_id":937,"name":"OWASP Top Ten 2013 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2013."},{"cwe_id":1035,"name":"OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2017."}],"exploits":[],"severity_range_score":"4.0 - 6.9","exploitability":"0.5","weighted_severity":"6.2","risk_score":3.1,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-3wbt-wcwe-r3b3"}