CVE-2017-9502
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic...
CVE-2017-9502 is a medium vulnerability (CVSS 5.3) in Haxx Curl, published June 14, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.29%, the 88th percentile. Fixed in curl 7.79.1-1.1.
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
NVD Score used
5.3
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").
- Record
CVE-2017-9502- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-119
- Updated
- 2026-11-02
CVE List No score
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").
- Record
CVE-2017-9502- Updated
- 2026-11-02
EUVDEUVD-2017-18434 No score
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").
- Record
EUVD-2017-18434- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-2p6v-q44g-p7m7
5.3
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic...
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").
- Record
GHSA-2p6v-q44g-p7m7- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-119
- Updated
- 2026-11-02
OSV
5.3
In curl before 7.54.1 on Windows and DOS, libcurl's default protocol function, which is the logic that allows an application to set which protocol libcurl should attempt to use when given a URL without a scheme part, had a flaw that could lead to it overwriting a heap based memory buffer with seven bytes. If the default protocol is specified to be FILE or a file: URL lacks two slashes, the given "URL" starts with a drive letter, and libcurl is built for Windows or DOS, then libcurl would copy the path 7 bytes off, so that the end of the given path would write beyond the malloc buffer (7 bytes being the length in bytes of the ascii string "file://").
- Record
CVE-2017-9502- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVCURL-CVE-2017-9502 No score
URL file scheme drive letter buffer overflow
When libcurl is given either
- a file: URL that does not use two slashes following the colon, or
- is told that file is the default scheme to use for URLs without scheme
... and the given path starts with a drive letter and libcurl is built for Windows or DOS, then libcurl would copy the path with a wrong offset, so that the end of the given path would write beyond the malloc buffer. Up to seven bytes too much.
- Record
CURL-CVE-2017-9502- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10582-1 No score
curl-7.79.1-1.1 on GA media
These are all security issues fixed in the curl-7.79.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10582-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
curlopenSUSE:Tumbleweed |
before 7.79.1-1.1 | 7.79.1-1.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
securitytracker.com/id/1038697
openwall.com/lists/oss-security/2017/06/14/1
curl.haxx.se/docs/adv_20170614.html
securityfocus.com/bid/99120
nvd.nist.gov/vuln/detail/CVE-2017-9502
github.com/advisories/GHSA-2p6v-q44g-p7m7
Show 48 moreShow less
suse.com/security/cve/CVE-2006-1061
suse.com/security/cve/CVE-2016-9586
suse.com/security/cve/CVE-2016-9594
suse.com/security/cve/CVE-2017-1000099
suse.com/security/cve/CVE-2017-1000100
suse.com/security/cve/CVE-2017-1000101
suse.com/security/cve/CVE-2017-1000254
suse.com/security/cve/CVE-2017-1000257
suse.com/security/cve/CVE-2017-2629
suse.com/security/cve/CVE-2017-7468
suse.com/security/cve/CVE-2017-8816
suse.com/security/cve/CVE-2017-8817
suse.com/security/cve/CVE-2017-8818
suse.com/security/cve/CVE-2017-9502
suse.com/security/cve/CVE-2018-0500
suse.com/security/cve/CVE-2018-1000005
suse.com/security/cve/CVE-2018-1000120
suse.com/security/cve/CVE-2018-1000122
suse.com/security/cve/CVE-2018-1000300
suse.com/security/cve/CVE-2018-1000301
suse.com/security/cve/CVE-2018-14618
suse.com/security/cve/CVE-2018-16839
suse.com/security/cve/CVE-2018-16840
suse.com/security/cve/CVE-2018-16842
suse.com/security/cve/CVE-2018-16890
suse.com/security/cve/CVE-2019-15601
suse.com/security/cve/CVE-2019-3822
suse.com/security/cve/CVE-2019-3823
suse.com/security/cve/CVE-2019-5435
suse.com/security/cve/CVE-2019-5436
suse.com/security/cve/CVE-2019-5481
suse.com/security/cve/CVE-2019-5482
suse.com/security/cve/CVE-2020-8169
suse.com/security/cve/CVE-2020-8231
suse.com/security/cve/CVE-2020-8284
suse.com/security/cve/CVE-2020-8285
suse.com/security/cve/CVE-2020-8286
suse.com/security/cve/CVE-2021-22297
suse.com/security/cve/CVE-2021-22298
suse.com/security/cve/CVE-2021-22876
suse.com/security/cve/CVE-2021-22890
suse.com/security/cve/CVE-2021-22898
suse.com/security/cve/CVE-2021-22901
suse.com/security/cve/CVE-2021-22922
suse.com/security/cve/CVE-2021-22924
suse.com/security/cve/CVE-2021-22945
suse.com/security/cve/CVE-2021-22946
suse.com/security/cve/CVE-2021-22947