Critical
Security advisory
urllib in Python 2.x through 2.7.16 supports the local_file: scheme, which makes it easier for remote attackers to bypass protection mechanisms that blacklist file: URIs, as demonstrated by triggering a urllib.urlopen('local_file:///etc/passwd') call.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2019-9948
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 10:48 UTC · Revision 1
Source evidence
urllib in Python 2.x through 2.7.16 supports the local_file: scheme, which makes it easier for remote attackers to bypass protection mechanisms that blacklist file: URIs, as demonstrated by triggering a urllib.urlopen('local_file:///etc/passwd') call.
osv:CVE-2019-9948
Complete source record
{
"id": "ce4c6526840e9ad75d851efeb613a132e0a1845c015275efc7972a209220b1ab",
"url": "https://osv.dev/vulnerability/CVE-2019-9948",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2019-9948",
"summary": "urllib in Python 2.x through 2.7.16 supports the local_file: scheme, which makes it easier for remote attackers to bypass protection mechanisms that blacklist file: URIs, as demonstrated by triggering a urllib.urlopen('local_file:///etc/passwd') call.",
"evidence": "osv:CVE-2019-9948",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2019-9948",
"aliases": [
"CVE-2019-9948",
"PSF-2019-12"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/python/cpython",
"type": "GIT",
"events": [
{
"introduced": "ff139a8a44d079a8261292044c82f128343fea09"
},
{
"fixed": "c2f86d86e6c8f5fd1ef602128b537a48f3f5c063"
},
{
"introduced": "2e789a1f1d84b343a996e8654590703b5fbdd441"
},
{
"fixed": "ac39a516017c80993309f803441c8ee97c44838e"
},
{
"introduced": "5c4568a05a0a62b5947c55f68f9f2ecfb90a4f12"
},
{
"fixed": "201c8f79450628241574fba940e08107178dc3a5"
},
{
"introduced": "1bf9cc509326bc42cd8cb1650eb9bf64550d817e"
},
{
"fixed": "e09359112e250268eca209355abeb17abf822486"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:python:python:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.0"
},
{
"fixed": "2.7.17"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:python:python:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.5.0"
},
{
"fixed": "3.5.8"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:python:python:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.6.0"
},
{
"fixed": "3.6.9"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:python:python:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.7.0"
},
{
"fixed": "3.7.4"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v3.5.8rc2",
"v3.5.8rc1",
"v2.7.17rc1",
"v3.7.4rc2",
"v3.7.4rc1",
"v3.6.9rc1",
"v3.7.3rc1",
"v3.5.7",
"v3.5.7rc1",
"v2.7.16rc1",
"v3.6.8",
"v3.7.2rc1",
"v3.6.8rc1",
"v3.5.6",
"v3.5.6rc1",
"v3.7.0rc1",
"v3.6.6rc1",
"v3.7.0b5",
"v3.7.0b4",
"v2.7.15rc1",
"v3.7.0b3",
"v3.7.0b2",
"v3.5.5",
"v3.5.5rc1",
"v3.7.0b1",
"v3.7.0a2",
"v3.5.4",
"v3.5.4rc1",
"v3.6.2rc1",
"v3.5.3",
"v3.5.3rc1",
"v3.6.0rc1",
"v2.7.13rc1",
"v3.6.0b4",
"v3.6.0b3",
"v3.6.0b1",
"v3.6.0a3",
"v3.5.2",
"v3.5.2rc1",
"v2.7.12rc1",
"v3.5.1rc1",
"v2.7.11rc1",
"v3.5.0rc3",
"v3.5.0rc2",
"v3.5.0rc1",
"v3.5.0b4",
"v3.5.0b3",
"v3.5.0b1",
"v2.7.10rc1",
"v3.5.0a4",
"v3.5.0a3",
"v3.5.0a2",
"v3.5.0a1",
"v2.7.9rc1",
"v2.7.8",
"v3.4.0b3",
"v3.4.0b2",
"v3.4.0b1",
"v2.7.6rc1",
"v3.4.0a4",
"v3.4.0a3",
"v3.4.0a2",
"v3.4.0a1",
"v2.7.5",
"v2.7.4rc1",
"v3.3.0rc3",
"v3.3.0rc2",
"v3.3.0rc1",
"v3.3.0b2",
"v3.3.0b1",
"v3.3.0a4",
"v3.3.0a3",
"v3.3.0a2",
"v2.7.3rc1",
"v2.7.2rc1",
"v2.7",
"v3.2rc3",
"v3.2rc2",
"v3.2rc1",
"v3.2b2",
"v3.2b1",
"v2.7.1",
"v2.7.1rc1",
"v3.2a4",
"v3.2a3",
"v3.2a2",
"v3.2a1",
"v2.7rc2",
"v2.7rc1",
"v2.7b2",
"v2.7b1",
"v2.7a4",
"v2.7a3",
"v2.7a2",
"v2.7a1",
"v3.1",
"v3.1rc2",
"v3.1rc1",
"v3.1b1",
"v3.1a2",
"v3.1a1",
"v3.0rc3",
"v3.0rc2",
"v2.6",
"v2.6rc2",
"v3.0rc1",
"v2.6rc1",
"v3.0b3",
"v2.6b3",
"v2.6b2",
"v3.0b2",
"v2.6b1",
"v3.0b1",
"v2.6a3",
"v3.0a5",
"v2.6a2",
"v3.0a4",
"v3.0a3",
"v2.6a1",
"v3.0a2",
"v3.0a1",
"v2.5b3",
"v2.5b2",
"v2.5b1",
"v2.5a2",
"v2.5a1",
"v2.5a0",
"v2.4",
"v2.4c1",
"v2.4b2",
"v2.4b1",
"v2.4a3",
"v2.4a2",
"v2.4a1",
"v2.3c2",
"v2.3c1",
"v2.2a3",
"v2.1",
"v2.1c2",
"v2.1c1",
"v2.1b2",
"v2.1b1",
"v2.1a2",
"v2.1a1",
"v2.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-9948.json"
}
}
],
"modified": "2026-10-20T10:51:44.172997079Z",
"provider": "osv",
"references": [
"https://cert-portal.siemens.com/productcert/html/ssa-398330.html",
"https://lists.apache.org/thread.html/r1b103833cb5bc8466e24ff0ecc5e75b45a705334ab6a444e64e840a0%40%3Cissues.bookkeeper.apache.org%3E",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HQEQLXLOCR3SNM3AA5RRYJFQ5AZBYJ4L/",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KRYFIMISZ47NTAU3XWZUOFB7CYL62KES/",
"https://access.redhat.com/errata/RHSA-2019:1700",
"https://access.redhat.com/errata/RHSA-2019:2030",
"https://access.redhat.com/errata/RHSA-2019:3335",
"https://access.redhat.com/errata/RHSA-2019:3520",
"https://lists.debian.org/debian-lts-announce/2019/06/msg00022.html",
"https://lists.debian.org/debian-lts-announce/2019/07/msg00011.html",
"https://lists.debian.org/debian-lts-announce/2020/07/msg00011.html",
"https://lists.debian.org/debian-lts-announce/2020/08/msg00034.html",
"https://seclists.org/bugtraq/2019/Oct/29",
"https://security.gentoo.org/glsa/202003-26",
"https://security.netapp.com/advisory/ntap-20190404-0004/",
"https://usn.ubuntu.com/4127-1/",
"https://usn.ubuntu.com/4127-2/",
"https://bugs.python.org/issue35907",
"https://github.com/python/cpython/pull/11842"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:12.04:*:*:*:-:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:esm:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:esm:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:19.04:*:*:*:*:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"extracted_events": [
{
"range": [
{
"introduced": "12.04"
},
{
"last_affected": "12.04"
},
{
"introduced": "14.04"
},
{
"last_affected": "14.04"
},
{
"introduced": "16.04"
},
{
"last_affected": "16.04"
},
{
"introduced": "18.04"
},
{
"last_affected": "18.04"
},
{
"introduced": "19.04"
},
{
"last_affected": "19.04"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*",
"cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*"
],
"vendor_product": "debian:debian_linux",
"extracted_events": [
{
"range": [
{
"introduced": "8.0"
},
{
"last_affected": "8.0"
},
{
"introduced": "9.0"
},
{
"last_affected": "9.0"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:29:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:30:*:*:*:*:*:*:*"
],
"vendor_product": "fedoraproject:fedora",
"extracted_events": [
{
"range": [
{
"introduced": "29"
},
{
"last_affected": "29"
},
{
"introduced": "30"
},
{
"last_affected": "30"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:opensuse:leap:15.0:*:*:*:*:*:*:*",
"cpe:2.3:o:opensuse:leap:42.3:*:*:*:*:*:*:*"
],
"vendor_product": "opensuse:leap",
"extracted_events": [
{
"range": [
{
"introduced": "15.0"
},
{
"last_affected": "15.0"
},
{
"introduced": "42.3"
},
{
"last_affected": "42.3"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:redhat:enterprise_linux_desktop:7.0:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_desktop:8.0:*:*:*:*:*:*:*"
],
"vendor_product": "redhat:enterprise_linux_desktop",
"extracted_events": [
{
"range": [
{
"introduced": "7.0"
},
{
"last_affected": "7.0"
},
{
"introduced": "8.0"
},
{
"last_affected": "8.0"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:redhat:enterprise_linux_eus:8.1:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_eus:8.2:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_eus:8.4:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_eus:8.6:*:*:*:*:*:*:*"
],
"vendor_product": "redhat:enterprise_linux_eus",
"extracted_events": [
{
"range": [
{
"introduced": "8.1"
},
{
"last_affected": "8.1"
},
{
"introduced": "8.2"
},
{
"last_affected": "8.2"
},
{
"introduced": "8.4"
},
{
"last_affected": "8.4"
},
{
"introduced": "8.6"
},
{
"last_affected": "8.6"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:redhat:enterprise_linux_server:7.0:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_server:8.0:*:*:*:*:*:*:*"
],
"vendor_product": "redhat:enterprise_linux_server",
"extracted_events": [
{
"range": [
{
"introduced": "7.0"
},
{
"last_affected": "7.0"
},
{
"introduced": "8.0"
},
{
"last_affected": "8.0"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:redhat:enterprise_linux_server_eus:8.4:*:*:*:*:*:*:*"
],
"vendor_product": "redhat:enterprise_linux_server_eus",
"extracted_events": [
{
"range": [
{
"introduced": "8.4"
},
{
"last_affected": "8.4"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:redhat:enterprise_linux_tus:8.2:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_tus:8.4:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_tus:8.6:*:*:*:*:*:*:*"
],
"vendor_product": "redhat:enterprise_linux_tus",
"extracted_events": [
{
"range": [
{
"introduced": "8.2"
},
{
"last_affected": "8.2"
},
{
"introduced": "8.4"
},
{
"last_affected": "8.4"
},
{
"introduced": "8.6"
},
{
"last_affected": "8.6"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:redhat:enterprise_linux_workstation:7.0:*:*:*:*:*:*:*",
"cpe:2.3:o:redhat:enterprise_linux_workstation:8.0:*:*:*:*:*:*:*"
],
"vendor_product": "redhat:enterprise_linux_workstation",
"extracted_events": [
{
"range": [
{
"introduced": "7.0"
},
{
"last_affected": "7.0"
},
{
"introduced": "8.0"
},
{
"last_affected": "8.0"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2019-9948",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 382837,
"published_at": "2019-03-23T18:29:02.09+00:00"
}