CVE-2017-1000254
Last modified
CVE-2017-1000254 is a vulnerability of currently unknown severity. 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. EPSS estimates a 8.46% chance of exploitation in the next 30 days.
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.
Metrics
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Haxx | Libcurl | 7.7 |
| Haxx | Libcurl | 7.7.1 |
| Haxx | Libcurl | 7.7.2 |
| Haxx | Libcurl | 7.7.3 |
| Haxx | Libcurl | 7.8 |
| Haxx | Libcurl | 7.8.1 |
| Haxx | Libcurl | 7.9 |
| Haxx | Libcurl | 7.9.1 |
| Haxx | Libcurl | 7.9.2 |
| Haxx | Libcurl | 7.9.3 |
| Haxx | Libcurl | 7.9.4 |
| Haxx | Libcurl | 7.9.5 |
| Haxx | Libcurl | 7.9.6 |
| Haxx | Libcurl | 7.9.7 |
| Haxx | Libcurl | 7.9.8 |
| Haxx | Libcurl | 7.10 |
| Haxx | Libcurl | 7.10.1 |
| Haxx | Libcurl | 7.10.2 |
| Haxx | Libcurl | 7.10.3 |
| Haxx | Libcurl | 7.10.4 |
| Haxx | Libcurl | 7.10.5 |
| Haxx | Libcurl | 7.10.6 |
| Haxx | Libcurl | 7.10.7 |
| Haxx | Libcurl | 7.10.8 |
| Haxx | Libcurl | 7.11.0 |
| Haxx | Libcurl | 7.11.1 |
| Haxx | Libcurl | 7.11.2 |
| Haxx | Libcurl | 7.12.0 |
| Haxx | Libcurl | 7.12.1 |
| Haxx | Libcurl | 7.12.2 |
| Haxx | Libcurl | 7.12.3 |
| Haxx | Libcurl | 7.13.0 |
| Haxx | Libcurl | 7.13.1 |
| Haxx | Libcurl | 7.13.2 |
| Haxx | Libcurl | 7.14.0 |
| Haxx | Libcurl | 7.14.1 |
| Haxx | Libcurl | 7.15.0 |
| Haxx | Libcurl | 7.15.1 |
| Haxx | Libcurl | 7.15.2 |
| Haxx | Libcurl | 7.15.3 |
| Haxx | Libcurl | 7.15.4 |
| Haxx | Libcurl | 7.15.5 |
| Haxx | Libcurl | 7.16.0 |
| Haxx | Libcurl | 7.16.1 |
| Haxx | Libcurl | 7.16.2 |
| Haxx | Libcurl | 7.16.3 |
| Haxx | Libcurl | 7.16.4 |
| Haxx | Libcurl | 7.17.0 |
| Haxx | Libcurl | 7.17.1 |
| Haxx | Libcurl | 7.18.0 |
Showing 50 of 117 affected configurations. See NVD for the full list.
References
- http://www.securityfocus.com/bid/101115Third Party Advisory, VDB Entry
- http://www.securitytracker.com/id/1039509Third Party Advisory, VDB Entry
- https://curl.haxx.se/673d0cd8.patchPatch, Vendor Advisory
- https://curl.haxx.se/docs/adv_20171004.htmlPatch, Vendor Advisory
- http://www.securityfocus.com/bid/101115Third Party Advisory, VDB Entry
- http://www.securitytracker.com/id/1039509Third Party Advisory, VDB Entry
- https://curl.haxx.se/673d0cd8.patchPatch, Vendor Advisory
- https://curl.haxx.se/docs/adv_20171004.htmlPatch, Vendor Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2017-1000254?
How severe is CVE-2017-1000254?
How do I fix CVE-2017-1000254?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2017
- CVE-2017-1000248Redis-store <=v1.3.0 allows unsafe objects to be loaded from…
- CVE-2017-1000249An issue in file() was introduced in commit 9611f31313a93aa0…
- CVE-2017-1000250All versions of the SDP server in BlueZ 5.46 and earlier are…
- CVE-2017-1000251The native Bluetooth stack in the Linux Kernel (BlueZ), star…8
- CVE-2017-1000252The KVM subsystem in the Linux kernel through 4.13.3 allows …
- CVE-2017-1000253Linux distributions that have not patched their long-term ke…7.8
- CVE-2017-1000255On Linux running on PowerPC hardware (Power8 or later) a use…
- CVE-2017-1000256libvirt version 2.3.0 and later is vulnerable to a bad defau…8.1
- CVE-2017-1000257An IMAP FETCH response line indicates the size of the return…9.1
- CVE-2017-10003Vulnerability in the Solaris component of Oracle Sun Systems…
- CVE-2017-1000353Jenkins versions 2.56 and earlier as well as 2.46.1 LTS and …9.8
- CVE-2017-1000354Jenkins versions 2.56 and earlier as well as 2.46.1 LTS and …
Are you affected by CVE-2017-1000254?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
