CVE-2017-1000254

Advisory lineage Upstream: 0 Downstream: 14
Modified
Published: 06 Oct 2017, 13:00
Last modified:05 Aug 2024, 22:00

Vulnerability Summary

Overall Risk (default)
medium
30/100
CVSS Score
7.5 HIGH
v3.0 (nvd)
EPSS Score
1.32% LOW
1% probability -0.03%
KEV
Not listed
Ransomware
No reports
Public exploits
None found
Dark Web
Not detected

Timeline

06 Oct 2017, 13:00
Published
Vulnerability first disclosed
05 Aug 2024, 22:00
Last Modified
Vulnerability information updated

Description

libcurl may read outside of a heap allocated buffer when doing FTP. When libcurl connects to an FTP server and successfully logs in (anonymous or not), it asks the server for the current directory with the `PWD` command. The server then responds with a 257 response containing the path, inside double quotes. The returned path name is then kept by libcurl for subsequent uses. Due to a flaw in the string parser for this directory name, a directory name passed like this but without a closing double quote would lead to libcurl not adding a trailing NUL byte to the buffer holding the name. When libcurl would then later access the string, it could read beyond the allocated heap buffer and crash or wrongly access data beyond the buffer, thinking it was part of the path. A malicious server could abuse this fact and effectively prevent libcurl-based clients to work with it - the PWD command is always issued on new FTP connections and the mistake has a high chance of causing a segfault. The simple fact that this has issue remained undiscovered for this long could suggest that malformed PWD responses are rare in benign servers. We are not aware of any exploit of this flaw. This bug was introduced in commit [415d2e7cb7](https://github.com/curl/curl/commit/415d2e7cb7), March 2005. In libcurl version 7.56.0, the parser always zero terminates the string but also rejects it if not terminated properly with a final double quote.

CVSS Metrics

  • v3.0HIGHScore: 7.5CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • v2.0MEDIUMScore: 5AV:N/AC:L/Au:N/C:N/I:N/A:P

EPSS Trends

Current EPSS score: 1.32% Percentile: 80%

Techniques & Countermeasures

  • CWE-119Improper Restriction of Operations within the Bounds of a Memory Buffer

    The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.

Affected Systems

  • haxxlibcurl

    7.7 | 7.7.1 | 7.7.2 | 7.7.3 | 7.8 | 7.8.1 | 7.9 | 7.9.1 | 7.9.2 | 7.9.3 | 7.9.4 | 7.9.5 | 7.9.6 | 7.9.7 | 7.9.8 | 7.10 | 7.10.1 | 7.10.2 | 7.10.3 | 7.10.4 | 7.10.5 | 7.10.6 | 7.10.7 | 7.10.8 | 7.11.0 | 7.11.1 | 7.11.2 | 7.12.0 | 7.12.1 | 7.12.2 | 7.12.3 | 7.13.0 | 7.13.1 | 7.13.2 | 7.14.0 | 7.14.1 | 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 | 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 | 7.55.0 | 7.55.1

References (11)