CVE-2017-8816
Critical · 9.8CVSS
9.8
EPSS
8.5%
Published
Nov 29, 2017
CISA due date
—
Cloudanix analysis
A flaw in certain older network software on 32-bit systems can let attackers crash programs or potentially take them over by sending specially crafted login details.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in NTLM authentication handling on 32-bit platforms leads to buffer overflow when processing excessively long user and password fields, resulting in application crash or potential memory corruption.
Why it matters to the business
Service disruptions from crashes in affected network tools and libraries, increased risk of remote compromise in environments relying on 32-bit deployments, and operational overhead from emergency patching across dependent packages.
How an attack unfolds
An attacker identifies a vulnerable 32-bit system exposing NTLM authentication via curl or dependent libraries, then supplies crafted requests with oversized username and password fields to trigger the overflow during authentication processing.
How to fix it
Upgrade affected packages to fixed versions such as spice 0.12.8-r3 on Alpine v3.10 and v3.11, or ensure curl/libcurl is at 7.57.0 or later; rebuild and redeploy any dependent applications after update.
How to confirm the fix worked
Verify installed package versions match or exceed the fixed releases, review build configurations for 32-bit targets, and perform functional tests exercising NTLM authentication paths with boundary-length credentials.
Typical attack path
- Scan for services or applications using vulnerable curl/libcurl or dependent packages on 32-bit platforms
- Craft and send HTTP or protocol requests containing NTLM authentication with excessively long user and password fields
- Trigger integer overflow during field length calculations leading to buffer overflow
- Observe application crash or attempt to leverage memory corruption for further impact
How to detect it
Review application and system logs for unexpected crashes or segmentation faults during authentication handling, correlate with inbound requests containing NTLM headers, and inspect for any post-crash memory dumps or core files.
What your security team should do
- Prioritize patching all 32-bit deployments of affected packages within standard change windows given the high CVSS and public disclosure
- Inventory applications and containers depending on curl or spice to confirm exposure scope
- Monitor for post-patch stability in authentication-heavy workloads
The record
The NTLM authentication feature in curl and libcurl before 7.57.0 on 32-bit platforms allows attackers to cause a denial of service (integer overflow and resultant buffer overflow, and application crash) or possibly have unspecified other impact via vectors involving long user and password fields.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.11 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.12 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.13 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.14 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.15 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.16 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.17 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.18 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.19 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.20 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.21 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.22 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.4 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.5 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.6 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.7 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.8 | curl | 0 | 7.57.0-r0 |
| Alpine:v3.9 | curl | 0 | 7.57.0-r0 |
| Debian:11 | curl | 0 | 7.57.0-1 |
| Debian:12 | curl | 0 | 7.57.0-1 |
| Debian:13 | curl | 0 | 7.57.0-1 |
| Debian:8 | curl | 0 | 7.38.0-4+deb8u8 |
| Debian:9 | curl | 0 | 7.52.1-5+deb9u3 |
| Mageia:5 | curl | 0 | 7.40.0-3.14.mga5 |
| Mageia:6 | curl | 0 | 7.54.1-2.4.mga6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-curl | 0 | 0:7.61.1-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-curl-debuginfo | 0 | 0:7.61.1-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-httpd | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-httpd-debuginfo | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-httpd-devel | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-httpd-manual | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-httpd-tools | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-libcurl | 0 | 0:7.61.1-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-libcurl-devel | 0 | 0:7.61.1-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-libnghttp2 | 0 | 0:1.7.1-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-libnghttp2-devel | 0 | 0:1.7.1-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-mod_ldap | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-mod_proxy_html | 0 | 1:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-mod_session | 0 | 0:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-mod_ssl | 0 | 1:2.4.34-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-nghttp2 | 0 | 0:1.7.1-7.el6 |
| Red Hat:rhel_software_collections:3::el6 | httpd24-nghttp2-debuginfo | 0 | 0:1.7.1-7.el6 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-curl | 0 | 0:7.61.1-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-curl-debuginfo | 0 | 0:7.61.1-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-httpd | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-httpd-debuginfo | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-httpd-devel | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-httpd-manual | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-httpd-tools | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-libcurl | 0 | 0:7.61.1-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-libcurl-devel | 0 | 0:7.61.1-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-libnghttp2 | 0 | 0:1.7.1-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-libnghttp2-devel | 0 | 0:1.7.1-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-mod_ldap | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-mod_md | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-mod_proxy_html | 0 | 1:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-mod_session | 0 | 0:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-mod_ssl | 0 | 1:2.4.34-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-nghttp2 | 0 | 0:1.7.1-7.el7 |
| Red Hat:rhel_software_collections:3::el7 | httpd24-nghttp2-debuginfo | 0 | 0:1.7.1-7.el7 |
| SUSE:Linux Enterprise Desktop 12 SP2 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Desktop 12 SP3 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Server 12 SP2 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Server 12 SP3 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | curl | 0 | 7.37.0-37.11.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | curl | 0 | 7.37.0-37.11.3 |
| Ubuntu:14.04:LTS | curl | 0 | 7.35.0-1ubuntu2.13 |
| Ubuntu:16.04:LTS | curl | 0 | 7.47.0-1ubuntu2.5 |
| openSUSE:Tumbleweed | curl | 0 | 7.79.1-1.1 |
Related vulnerabilities
- CVE-2021-22898 curl 7.7 through 7.76.1 suffers from an information disclosure when the `-t` command line… Also affects curl
- CVE-2019-5481 Double-free vulnerability in the FTP-kerberos code in cURL 7.52.0 to 7.65.3. Also affects curl
- CVE-2019-5482 Heap buffer overflow in the TFTP protocol handler in cURL 7.19.4 to 7.65.3. Also affects curl
- CVE-2019-5436 A heap buffer overflow in the TFTP receiving code allows for DoS or arbitrary code… Also affects curl
- CVE-2017-8817 The FTP wildcard function in curl and libcurl before 7.57.0 allows remote attackers to… Also affects curl
- CVE-2017-1000257 An IMAP FETCH response line indicates the size of the returned data, in number of bytes. Also affects curl
- CVE-2016-7167 Multiple integer overflows in the (1) curl_escape, (2) curl_easy_escape, (3)… Also affects curl
- CVE-2016-7141 curl and libcurl before 7.50.2, when built with NSS and the libnsspem.so library is… Also affects curl