CURL-CVE-2017-1000100

Source
https://curl.se/docs/CVE-2017-1000100.html
Import Source
https://curl.se/docs/CURL-CVE-2017-1000100.json
JSON Data
https://api.osv.dev/v1/vulns/CURL-CVE-2017-1000100
Aliases
Published
2017-08-09T08:00:00Z
Modified
2024-06-07T13:53:51Z
Summary
TFTP sends more than buffer size
Details

When doing a TFTP transfer and curl/libcurl is given a URL that contains a very long filename (longer than about 515 bytes), the filename is truncated to fit within the buffer boundaries, but the buffer size is still wrongly updated to use the original 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 then reads 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 has not 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.

References
Credits
    • Even Rouault - FINDER
    • Daniel Stenberg - REMEDIATION_DEVELOPER

Affected packages

Git / github.com/curl/curl.git

Affected ranges

Type
SEMVER
Events
Introduced
7.15.0
Fixed
7.55.0
Type
GIT
Repo
https://github.com/curl/curl.git
Events

Affected versions

7.*

7.15.0
7.15.1
7.15.2
7.15.3
7.15.4
7.15.5
7.16.0
7.16.1
7.16.2
7.16.3
7.16.4
7.17.0
7.17.1
7.18.0
7.18.1
7.18.2
7.19.0
7.19.1
7.19.2
7.19.3
7.19.4
7.19.5
7.19.6
7.19.7
7.20.0
7.20.1
7.21.0
7.21.1
7.21.2
7.21.3
7.21.4
7.21.5
7.21.6
7.21.7
7.22.0
7.23.0
7.23.1
7.24.0
7.25.0
7.26.0
7.27.0
7.28.0
7.28.1
7.29.0
7.30.0
7.31.0
7.32.0
7.33.0
7.34.0
7.35.0
7.36.0
7.37.0
7.37.1
7.38.0
7.39.0
7.40.0
7.41.0
7.42.0
7.42.1
7.43.0
7.44.0
7.45.0
7.46.0
7.47.0
7.47.1
7.48.0
7.49.0
7.49.1
7.50.0
7.50.1
7.50.2
7.50.3
7.51.0
7.52.0
7.52.1
7.53.0
7.53.1
7.54.0
7.54.1