{"schemaVersion":3,"id":"CVE-2020-25032","aliases":["openSUSE-SU-2020:1415-1","openSUSE-SU-2020:1423-1","openSUSE-SU-2020:1446-1","GHSA-xc3p-ff3m-f46v","PYSEC-2020-43","UBUNTU-CVE-2020-25032","USN-6019-1","DEBIAN-CVE-2020-25032","DSA-4775-1","openSUSE-SU-2020:1393-1","openSUSE-SU-2024:11206-1","openSUSE-SU-2024:14129-1"],"status":"published","duplicateOf":null,"title":null,"description":"An issue was discovered in Flask-CORS (aka CORS Middleware for Flask) before 3.0.9. It allows ../ directory traversal to access private resources because resource matching does not ensure that pathnames are in a canonical format.","dates":{"published":"2020-08-31T03:57:28.000Z","modified":"2024-08-04T15:26:09.160Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"OSV · Pypi","score":8.7,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Pypi","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":5,"severity":"medium","vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.04017,"percentile":0.90474,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.04017},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.04017,"percentile":0.90474}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.04017,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.04017,"percentile":0.90474}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"debian","product":"python-flask-cors","name":"python-flask-cors","label":"python-flask-cors","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/python-flask-cors","purlType":"deb","versions":[{"text":"< 3.0.9-1","noFixRecorded":false,"fixedIn":null},{"text":"< 3.0.7-1+deb10u1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.9-1 | < 3.0.7-1+deb10u1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"python-flask-cors","name":"python-flask-cors","label":"python-flask-cors","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/python-flask-cors","purlType":"deb","versions":[{"text":"< 3.0.8-2ubuntu0.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.8-2ubuntu0.1","eol":null,"hubHref":null},{"vendor":"debian","product":"debian_linux","name":"debian linux","label":"debian_linux","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"10.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"10.0","eol":{"isEol":true,"eolDate":"2024-06-30T00:00:00.000Z","matchMethod":"cpe","cycle":{"name":"10","label":"10 (Buster)","eolFrom":"2024-06-30T00:00:00.000Z","isLts":false,"isMaintained":true,"latestVersion":"10.13"},"product":{"name":"debian","label":"Debian","category":"os"}},"hubHref":"/vendor/debian/debian_linux"},{"vendor":"flask-cors_project","product":"flask-cors","name":"flask-cors","label":"flask-cors","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.0.9","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.9","eol":null,"hubHref":"/vendor/flask-cors_project/flask-cors"},{"vendor":"opensuse","product":"backports_sle","name":"backports sle","label":"backports_sle","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"15.0:sp1","noFixRecorded":false,"fixedIn":null},{"text":"15.0:sp2","noFixRecorded":false,"fixedIn":null}],"versionsText":"15.0:sp1 | 15.0:sp2","eol":null,"hubHref":"/vendor/opensuse/backports_sle"},{"vendor":"opensuse","product":"leap","name":"leap","label":"leap","ecosystem":null,"cpePart":"o","purl":null,"purlType":null,"versions":[{"text":"15.1","noFixRecorded":false,"fixedIn":null},{"text":"15.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"15.1 | 15.2","eol":{"isEol":true,"eolDate":"2021-02-02T00:00:00.000Z","matchMethod":"cpe","cycle":{"name":"15.1","label":"Leap 15.1","eolFrom":"2021-02-02T00:00:00.000Z","isLts":false,"isMaintained":false,"latestVersion":null},"product":{"name":"opensuse","label":"openSUSE","category":"os"}},"hubHref":"/vendor/opensuse/leap"},{"vendor":"PyPI","product":"flask-cors","name":"flask-cors","label":"flask-cors","ecosystem":"PyPI","cpePart":null,"purl":"pkg:pypi/flask-cors","purlType":"pypi","versions":[{"text":"< 3.0.9","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.9","eol":null,"hubHref":null},{"vendor":"opensuse","product":"python-Flask-Cors&distro=openSUSE Leap 15.1","name":"python-Flask-Cors","label":"python-Flask-Cors&distro=openSUSE Leap 15.1","ecosystem":"openSUSE","cpePart":null,"purl":"pkg:rpm/opensuse/python-Flask-Cors&distro=openSUSE Leap 15.1","purlType":"rpm","versions":[{"text":"< 3.0.8-lp152.2.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.8-lp152.2.3.1","eol":null,"hubHref":null},{"vendor":"opensuse","product":"python-Flask-Cors&distro=openSUSE Leap 15.2","name":"python-Flask-Cors","label":"python-Flask-Cors&distro=openSUSE Leap 15.2","ecosystem":"openSUSE","cpePart":null,"purl":"pkg:rpm/opensuse/python-Flask-Cors&distro=openSUSE Leap 15.2","purlType":"rpm","versions":[{"text":"< 3.0.8-lp152.2.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.8-lp152.2.3.1","eol":null,"hubHref":null},{"vendor":"opensuse","product":"python-Flask-Cors&distro=openSUSE Tumbleweed","name":"python-Flask-Cors","label":"python-Flask-Cors&distro=openSUSE Tumbleweed","ecosystem":"openSUSE","cpePart":null,"purl":"pkg:rpm/opensuse/python-Flask-Cors&distro=openSUSE Tumbleweed","purlType":"rpm","versions":[{"text":"< 4.0.0-1.3","noFixRecorded":false,"fixedIn":null},{"text":"< 3.0.10-1.3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.0.0-1.3 | < 3.0.10-1.3","eol":null,"hubHref":null},{"vendor":"suse","product":"python-Flask-Cors&distro=SUSE Package Hub 15 SP1","name":"python-Flask-Cors","label":"python-Flask-Cors&distro=SUSE Package Hub 15 SP1","ecosystem":"SUSE Linux Enterprise","cpePart":null,"purl":"pkg:rpm/suse/python-Flask-Cors&distro=SUSE Package Hub 15 SP1","purlType":"rpm","versions":[{"text":"< 3.0.7-bp151.2.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.7-bp151.2.3.1","eol":null,"hubHref":null},{"vendor":"suse","product":"python-Flask-Cors&distro=SUSE Package Hub 15 SP2","name":"python-Flask-Cors","label":"python-Flask-Cors&distro=SUSE Package Hub 15 SP2","ecosystem":"SUSE Linux Enterprise","cpePart":null,"purl":"pkg:rpm/suse/python-Flask-Cors&distro=SUSE Package Hub 15 SP2","purlType":"rpm","versions":[{"text":"< 3.0.8-bp152.2.3.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.8-bp152.2.3.1","eol":null,"hubHref":null}],"affectedCount":12,"eol":{"hasEol":true,"count":2},"references":[{"url":"https://github.com/corydolphin/flask-cors/releases/tag/3.0.9","label":"github.com/corydolphin/flask-cors/releases/tag/3.0.9","hostname":"github.com","tags":["X Refsource MISC","WEB","Third Party Advisory"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-09/msg00028.html","label":"lists.opensuse.org/opensuse-security-announce/2020-09/msg00028.html","hostname":"lists.opensuse.org","tags":["Vendor Advisory","X Refsource SUSE","WEB","Mailing List","Third Party Advisory"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-09/msg00032.html","label":"lists.opensuse.org/opensuse-security-announce/2020-09/msg00032.html","hostname":"lists.opensuse.org","tags":["Vendor Advisory","X Refsource SUSE","WEB","Mailing List","Third Party Advisory"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-09/msg00039.html","label":"lists.opensuse.org/opensuse-security-announce/2020-09/msg00039.html","hostname":"lists.opensuse.org","tags":["Vendor Advisory","X Refsource SUSE","WEB","Mailing List","Third Party Advisory"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-09/msg00048.html","label":"lists.opensuse.org/opensuse-security-announce/2020-09/msg00048.html","hostname":"lists.opensuse.org","tags":["Vendor Advisory","X Refsource SUSE","WEB","Mailing List","Third Party Advisory"]},{"url":"https://www.debian.org/security/2020/dsa-4775","label":"www.debian.org/security/2020/dsa-4775","hostname":"www.debian.org","tags":["Vendor Advisory","X Refsource DEBIAN","WEB","Advisory","Third Party Advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/TV5E6IGUZ3BQ4C6SUPRHPXWKFNLIVRFC/","label":"lists.opensuse.org/archives/…","hostname":"lists.opensuse.org","tags":["Advisory"]},{"url":"https://bugzilla.suse.com/1175986","label":"bugzilla.suse.com/1175986","hostname":"bugzilla.suse.com","tags":["REPORT"]},{"url":"https://www.suse.com/security/cve/CVE-2020-25032","label":"www.suse.com/security/cve/CVE-2020-25032","hostname":"www.suse.com","tags":["WEB"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/ETLJQROG7LLO433DQACLCGA3BM443WLY/","label":"lists.opensuse.org/archives/…","hostname":"lists.opensuse.org","tags":["Advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/Q75KN53VL4DTY5DLVGBSDHEYLCISLHLU/","label":"lists.opensuse.org/archives/…","hostname":"lists.opensuse.org","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-25032","label":"nvd.nist.gov/vuln/detail/CVE-2020-25032","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/corydolphin/flask-cors/commit/67c4b2cc98ae87cf1fa7df4f97fd81b40c79b895","label":"github.com/corydolphin/flask-cors/commit/67c4b2cc98ae87cf1fa7df4f97fd81b40c79b895","hostname":"github.com","tags":["WEB","REPORT"]},{"url":"https://github.com/advisories/GHSA-xc3p-ff3m-f46v","label":"github.com/advisories/GHSA-xc3p-ff3m-f46v","hostname":"github.com","tags":["Advisory"]},{"url":"https://github.com/corydolphin/flask-cors","label":"github.com/corydolphin/flask-cors","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/flask-cors/PYSEC-2020-43.yaml","label":"github.com/pypa/advisory-database/tree/main/vulns/flask-cors/PYSEC-2020-43.yaml","hostname":"github.com","tags":["WEB"]},{"url":"https://ubuntu.com/security/CVE-2020-25032","label":"ubuntu.com/security/CVE-2020-25032","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://ubuntu.com/security/notices/USN-6019-1","label":"ubuntu.com/security/notices/USN-6019-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-25032","label":"www.cve.org/CVERecord?id=CVE-2020-25032","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-25032","label":"security-tracker.debian.org/tracker/CVE-2020-25032","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/VHRJRGEEXMCNGXZCLYPCLF76DURA52MJ/","label":"lists.opensuse.org/archives/…","hostname":"lists.opensuse.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:11990-1","SUSE-SU-2020:2876-1","SUSE-SU-2020:3309-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:11990-1","SUSE-SU-2020:2876-1","SUSE-SU-2020:3309-1"]},"timeline":[{"kind":"published","date":"2020-08-31T03:57:28.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2024-08-04T15:26:09.160Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":31,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T01:15:17.943Z","stale":false,"partial":false}}