CVE-2019-5481
Critical · 9.8CVSS
9.8
EPSS
7.5%
Published
Sep 16, 2019
CISA due date
—
Cloudanix analysis
A flaw in widely used file-transfer software could let attackers take over affected computers during certain secure connections.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Double-free in FTP-kerberos handling leads to heap memory corruption that can be leveraged for remote code execution.
Why it matters to the business
Compromise of systems running vulnerable cURL versions can result in full system takeover, data theft, or service disruption across many downstream products and distributions.
How an attack unfolds
An attacker establishes an FTP session that triggers kerberos authentication, then supplies crafted server responses that cause the client to free the same memory buffer twice, allowing control of execution flow.
How to fix it
Upgrade cURL to version 7.66.0 or later on all affected systems and rebuild any statically linked applications.
How to confirm the fix worked
Confirm installed cURL version is 7.66.0 or newer; run regression tests against FTP-kerberos flows and monitor process stability under crafted traffic.
Typical attack path
- Initiate FTP connection requesting kerberos authentication
- Return specially crafted FTP replies that exercise the vulnerable code path
- Trigger double-free to corrupt heap metadata
- Achieve arbitrary code execution or denial of service
How to detect it
Review application and system logs for cURL crashes or segfaults during FTP sessions that involve kerberos; inspect network captures for unusual FTP response patterns around authentication exchanges.
What your security team should do
- Inventory all hosts and containers using cURL 7.52.0-7.65.3 and schedule immediate upgrades
- Block or monitor outbound FTP traffic to untrusted servers until patches are applied
- Add version checks to build pipelines and dependency scanners
The record
Double-free vulnerability in the FTP-kerberos code in cURL 7.52.0 to 7.65.3.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.11 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.12 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.13 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.14 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.15 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.16 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.17 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.18 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.19 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.20 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.21 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.22 | curl | 0 | 7.66.0-r0 |
| Alpine:v3.7 | curl | 0 | 7.61.1-r3 |
| Alpine:v3.8 | curl | 0 | 7.61.1-r3 |
| Alpine:v3.9 | curl | 0 | 7.64.0-r3 |
| Debian:10 | curl | 0 | 7.64.0-4+deb10u1 |
| Debian:11 | curl | 0 | 7.66.0-1 |
| Debian:12 | curl | 0 | 7.66.0-1 |
| Debian:13 | curl | 0 | 7.66.0-1 |
| Debian:9 | curl | 0 | 7.52.1-5+deb9u10 |
| Mageia:7 | curl | 0 | 7.66.0-1.mga7 |
| Red Hat:enterprise_linux:8::baseos | curl | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | curl-debuginfo | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | curl-debugsource | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | curl-minimal-debuginfo | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | libcurl | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | libcurl-debuginfo | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | libcurl-devel | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | libcurl-minimal | 0 | 0:7.61.1-12.el8 |
| Red Hat:enterprise_linux:8::baseos | libcurl-minimal-debuginfo | 0 | 0:7.61.1-12.el8 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr | 0 | 0:1.6.3-73.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-debuginfo | 0 | 0:1.6.3-73.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-devel | 0 | 0:1.6.3-73.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-debuginfo | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-devel | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-ldap | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-mysql | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-nss | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-odbc | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-openssl | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-pgsql | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-apr-util-sqlite | 0 | 0:1.6.1-54.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-brotli | 0 | 0:1.0.6-9.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-brotli-debuginfo | 0 | 0:1.0.6-9.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-brotli-devel | 0 | 0:1.0.6-9.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-curl | 0 | 0:7.64.1-21.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-curl-debuginfo | 0 | 0:7.64.1-21.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-httpd | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-httpd-debuginfo | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-httpd-devel | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-httpd-manual | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-httpd-selinux | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-httpd-tools | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-jansson | 0 | 0:2.11-24.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-jansson-debuginfo | 0 | 0:2.11-24.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-jansson-devel | 0 | 0:2.11-24.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-libcurl | 0 | 0:7.64.1-21.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-libcurl-devel | 0 | 0:7.64.1-21.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_cluster-native | 0 | 0:1.3.12-13.Final_redhat_2.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_cluster-native-debuginfo | 0 | 0:1.3.12-13.Final_redhat_2.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_http2 | 0 | 0:1.11.3-8.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_http2-debuginfo | 0 | 0:1.11.3-8.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_jk | 0 | 0:1.2.46-26.redhat_1.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_jk-ap24 | 0 | 0:1.2.46-26.redhat_1.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_jk-debuginfo | 0 | 0:1.2.46-26.redhat_1.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_jk-manual | 0 | 0:1.2.46-26.redhat_1.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_ldap | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_md | 0 | 1:2.0.8-10.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_md-debuginfo | 0 | 1:2.0.8-10.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_proxy_html | 0 | 1:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_security | 0 | 0:2.9.2-20.GA.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_security-debuginfo | 0 | 0:2.9.2-20.GA.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_session | 0 | 0:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-mod_ssl | 0 | 1:2.4.37-41.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-nghttp2 | 0 | 0:1.39.2-10.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-nghttp2-debuginfo | 0 | 0:1.39.2-10.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-nghttp2-devel | 0 | 0:1.39.2-10.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-openssl | 0 | 1:1.1.1c-4.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-openssl-debuginfo | 0 | 1:1.1.1c-4.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-openssl-devel | 0 | 1:1.1.1c-4.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-openssl-libs | 0 | 1:1.1.1c-4.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-openssl-perl | 0 | 1:1.1.1c-4.jbcs.el6 |
| Red Hat:jboss_core_services:1::el6 | jbcs-httpd24-openssl-static | 0 | 1:1.1.1c-4.jbcs.el6 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr | 0 | 0:1.6.3-73.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-debuginfo | 0 | 0:1.6.3-73.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-devel | 0 | 0:1.6.3-73.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-debuginfo | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-devel | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-ldap | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-mysql | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-nss | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-odbc | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-openssl | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-pgsql | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-util-sqlite | 0 | 0:1.6.1-54.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-brotli | 0 | 0:1.0.6-9.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-brotli-debuginfo | 0 | 0:1.0.6-9.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-brotli-devel | 0 | 0:1.0.6-9.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-curl | 0 | 0:7.64.1-21.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-curl-debuginfo | 0 | 0:7.64.1-21.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-debuginfo | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-devel | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-manual | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-selinux | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-tools | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-jansson | 0 | 0:2.11-24.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-jansson-debuginfo | 0 | 0:2.11-24.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-jansson-devel | 0 | 0:2.11-24.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-libcurl | 0 | 0:7.64.1-21.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-libcurl-devel | 0 | 0:7.64.1-21.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_cluster-native | 0 | 0:1.3.12-13.Final_redhat_2.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_cluster-native-debuginfo | 0 | 0:1.3.12-13.Final_redhat_2.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_http2 | 0 | 0:1.11.3-8.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_http2-debuginfo | 0 | 0:1.11.3-8.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk | 0 | 0:1.2.46-26.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk-ap24 | 0 | 0:1.2.46-26.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk-debuginfo | 0 | 0:1.2.46-26.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_jk-manual | 0 | 0:1.2.46-26.redhat_1.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_ldap | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_md | 0 | 1:2.0.8-10.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_md-debuginfo | 0 | 1:2.0.8-10.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_proxy_html | 0 | 1:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_security | 0 | 0:2.9.2-20.GA.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_security-debuginfo | 0 | 0:2.9.2-20.GA.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_session | 0 | 0:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_ssl | 0 | 1:2.4.37-41.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-nghttp2 | 0 | 0:1.39.2-10.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-nghttp2-debuginfo | 0 | 0:1.39.2-10.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-nghttp2-devel | 0 | 0:1.39.2-10.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl | 0 | 1:1.1.1c-4.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-debuginfo | 0 | 1:1.1.1c-4.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-devel | 0 | 1:1.1.1c-4.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-libs | 0 | 1:1.1.1c-4.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-perl | 0 | 1:1.1.1c-4.jbcs.el7 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-openssl-static | 0 | 1:1.1.1c-4.jbcs.el7 |
| SUSE:Linux Enterprise Desktop 12 SP4 | curl | 0 | 7.60.0-4.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | curl | 0 | 7.60.0-3.23.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | curl | 0 | 7.60.0-3.23.1 |
| SUSE:Linux Enterprise Server 12 SP4 | curl | 0 | 7.60.0-4.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | curl | 0 | 7.60.0-4.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | curl | 0 | 7.60.0-4.9.1 |
| Ubuntu:16.04:LTS | curl | 0 | 7.47.0-1ubuntu2.14 |
| Ubuntu:18.04:LTS | curl | 0 | 7.58.0-2ubuntu3.8 |
| openSUSE:Leap 15.0 | curl | 0 | 7.60.0-lp150.2.25.1 |
| openSUSE:Leap 15.1 | curl | 0 | 7.60.0-lp151.5.6.1 |
| openSUSE:Leap 15.1 | curl-mini | 0 | 7.60.0-lp151.5.6.1 |
| 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-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-8816 The NTLM authentication feature in curl and libcurl before 7.57.0 on 32-bit platforms… 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