CVE-2017-1000099
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data...
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
6.5
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
CVE-2017-1000099- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
CVE List No score
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
CVE-2017-1000099- Updated
- 2026-11-02
EUVDEUVD-2017-1403 No score
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
EUVD-2017-1403- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-q937-ph5c-26qf
6.5
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data...
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
GHSA-q937-ph5c-26qf- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVALPINE-CVE-2017-1000099
6.5
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
ALPINE-CVE-2017-1000099- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVBELL-CVE-2017-1000099
6.5
CVE-2017-1000099 does not affect BellSoft software
- Record
BELL-CVE-2017-1000099- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 4 moreShow less
OSV
6.5
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
CVE-2017-1000099- CVSS 3.0
- 6.5 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVCURL-CVE-2017-1000099 No score
FILE buffer read out of bounds
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers.
The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed.
The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory.
- Record
CURL-CVE-2017-1000099- Updated
- 2026-11-02
OSVMGASA-2017-0281 No score
Updated curl packages fix security vulnerabilities
When asking to get a file from a file:// URL, libcurl provides a feature that outputs meta-data about the file using HTTP-like headers. The code doing this would send the wrong buffer to the user (stdout or the application's provide callback), which could lead to other private data from the heap to get inadvertently displayed. The wrong buffer was an uninitialized memory area allocated on the heap and if it turned out to not contain any zero byte, it would continue and display the data following that buffer in memory (CVE-2017-1000099).
When doing a TFTP transfer and curl/libcurl is given a URL that contains a very long file name (longer than about 515 bytes), the file name is truncated to fit within the buffer boundaries, but the buffer size is still wrongly updated to use the untruncated length. This too large value is then used in the sendto() call, making curl attempt to send more data than what is actually put into the buffer. The sendto() function will then read beyond the end of the heap based buffer. A malicious HTTP(S) server could redirect a vulnerable libcurl-using client to a crafted TFTP URL (if the client hasn't restricted which protocols it allows redirects to) and trick it to send private memory contents to a remote server over UDP. Limit curl's redirect protocols with --proto-redir and libcurl's with CURLOPT_REDIR_PROTOCOLS (CVE-2017-1000100).
curl supports "globbing" of URLs, in which a user can pass a numerical range to have the tool iterate over those numbers to do a sequence of transfers. In the globbing function that parses the numerical range, there was an omission that made curl read a byte beyond the end of the URL if given a carefully crafted, or just wrongly written, URL. The URL is stored in a heap based buffer, so it could then be made to wrongly read something else instead of crashing (CVE-2017-1000101).
- Record
MGASA-2017-0281- 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 |
|---|---|---|
curlAlpine:v3.10 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.11 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.12 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.13 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.14 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.15 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.16 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.17 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.18 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.19 |
before 7.55.0-r0 | 7.55.0-r0 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
curlAlpine:v3.20 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.21 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.22 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.23 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.24 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.3 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.4 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.5 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.6 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.7 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.8 |
before 7.55.0-r0 | 7.55.0-r0 |
curlAlpine:v3.9 |
before 7.55.0-r0 | 7.55.0-r0 |
curlMageia:6 |
before 7.54.1-2.2.mga6 | 7.54.1-2.2.mga6 |
curlopenSUSE:Tumbleweed |
before 7.79.1-1.1 | 7.79.1-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-1000099 is a medium vulnerability (CVSS 6.5) in Haxx Libcurl, published August 9, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.65%, the 85th percentile. Fixed in curl 7.55.0-r0.
References
securityfocus.com/bid/100281
security.gentoo.org/glsa/201709-14
curl.haxx.se/0809C.patch
securitytracker.com/id/1039119
nvd.nist.gov/vuln/detail/CVE-2017-1000099
curl.haxx.se/docs/adv_20170809C.html
Show 55 moreShow less
github.com/advisories/GHSA-q937-ph5c-26qf
security.alpinelinux.org/vuln/CVE-2017-1000099
docs.bell-sw.com/security/cves/CVE-2017-1000099
advisories.mageia.org/MGASA-2017-0281.html
bugs.mageia.org/show_bug.cgi?id=21481
curl.haxx.se/docs/adv_20170809A.html
curl.haxx.se/docs/adv_20170809B.html
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