CVE-2023-28319
High · 7.5CVSS
7.5
EPSS
2.5%
Published
May 26, 2023
CISA due date
—
Cloudanix analysis
A problem in a widely used data transfer tool could let attackers interfere with how information moves between computers until the software is updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Other
- Component
- Other
- Class
- Other
- Remediation
- Other
- Effort
- Other
- Patch risk
- Other
What it actually does
Flaw in curl allows incorrect handling of request state or data transfer under specific conditions, potentially leading to unexpected behavior in HTTP operations.
Why it matters to the business
Organizations relying on curl for data transfers face elevated risk of operational disruption or data exposure until systems are updated; high ecosystem prevalence increases urgency for patching across many deployments.
How an attack unfolds
An attacker crafts inputs or network responses that trigger the flaw in curl's processing logic, causing it to mishandle requests or data in a way that can be leveraged for further attacks; public exploit code is available.
How to fix it
Upgrade curl to the fixed commit a9f8fe28481fef7c28d85b4a12a3a35521408eaf or later release containing that commit; rebuild and redeploy any dependent applications.
How to confirm the fix worked
Verify installed curl version reports a commit after a9f8fe28481fef7c28d85b4a12a3a35521408eaf; test affected code paths with known triggers to confirm resolution.
Typical attack path
- Identify target systems using vulnerable curl versions
- Supply malicious input or observe network conditions that activate the flaw
- Trigger unexpected request or data handling
- Leverage resulting behavior for information disclosure or further compromise
How to detect it
Review application and system logs for unusual curl process behavior or failed transfers around the time of potential exploitation; inspect build artifacts for vulnerable commit hashes.
What your security team should do
- Prioritize upgrade of all curl installations to the fixed commit within the next 30 days given available exploit
- Scan build pipelines and containers for vulnerable curl versions
- Monitor EPSS and exploit availability for any change in risk
- Review downstream dependents for inherited exposure
The record
A use after free vulnerability exists in curl <v8.1.0 in the way libcurl offers a feature to verify an SSH server's public key using a SHA 256 hash. When this check fails, libcurl would free the memory for the fingerprint before it returns an error message containing the (now freed) hash. This flaw risks inserting sensitive heap-based data into the error message that might be shown to users or otherwise get leaked and revealed.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.15 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.16 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.17 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.18 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.19 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.20 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.21 | curl | 0 | 8.1.0-r0 |
| Alpine:v3.22 | curl | 0 | 8.1.0-r0 |
| Debian:12 | curl | 0 | 7.88.1-10 |
| Debian:13 | curl | 0 | 7.88.1-10 |
| Mageia:8 | curl | 0 | 7.74.0-1.13.mga8 |
| Mageia:9 | curl | 0 | 7.88.1-3.1.mga9 |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr | 0 | 0:1.7.0-8.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-debuginfo | 0 | 0:1.7.0-8.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-apr-devel | 0 | 0:1.7.0-8.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-curl | 0 | 0:8.2.1-1.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-curl-debuginfo | 0 | 0:8.2.1-1.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-debuginfo | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-devel | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-manual | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-selinux | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-httpd-tools | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-libcurl | 0 | 0:8.2.1-1.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-libcurl-devel | 0 | 0:8.2.1-1.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_ldap | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_proxy_html | 0 | 1:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_security | 0 | 0:2.9.3-29.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_security-debuginfo | 0 | 0:2.9.3-29.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_session | 0 | 0:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el7 | jbcs-httpd24-mod_ssl | 0 | 1:2.4.57-5.el7jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-apr | 0 | 0:1.7.0-8.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-apr-debuginfo | 0 | 0:1.7.0-8.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-apr-devel | 0 | 0:1.7.0-8.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-curl | 0 | 0:8.2.1-1.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-curl-debuginfo | 0 | 0:8.2.1-1.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd-debuginfo | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd-devel | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd-manual | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd-selinux | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd-tools | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-httpd-tools-debuginfo | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-libcurl | 0 | 0:8.2.1-1.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-libcurl-debuginfo | 0 | 0:8.2.1-1.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-libcurl-devel | 0 | 0:8.2.1-1.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_ldap | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_ldap-debuginfo | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_proxy_html | 0 | 1:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_proxy_html-debuginfo | 0 | 1:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_security | 0 | 0:2.9.3-29.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_security-debuginfo | 0 | 0:2.9.3-29.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_session | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_session-debuginfo | 0 | 0:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_ssl | 0 | 1:2.4.57-5.el8jbcs |
| Red Hat:jboss_core_services:1::el8 | jbcs-httpd24-mod_ssl-debuginfo | 0 | 1:2.4.57-5.el8jbcs |
| SUSE:Linux Enterprise Micro 5.3 | curl | 0 | 8.0.1-150400.5.23.1 |
| SUSE:Linux Enterprise Micro 5.4 | curl | 0 | 8.0.1-150400.5.23.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | curl | 0 | 8.0.1-150400.5.23.1 |
| SUSE:Linux Enterprise Server 12 SP5 | curl | 0 | 8.0.1-11.65.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | curl | 0 | 8.0.1-11.65.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | curl | 0 | 8.0.1-11.65.2 |
| Ubuntu:18.04:LTS | curl | 0 | 7.58.0-2ubuntu3.24 |
| Ubuntu:20.04:LTS | curl | 0 | 7.68.0-1ubuntu2.18 |
| Ubuntu:22.04:LTS | curl | 0 | 7.81.0-1ubuntu1.20 |
| openSUSE:Leap 15.4 | curl | 0 | 8.0.1-150400.5.23.1 |
| openSUSE:Leap 15.5 | curl | 0 | 8.0.1-150400.5.23.1 |
| openSUSE:Leap Micro 5.3 | curl | 0 | 8.0.1-150400.5.23.1 |
| openSUSE:Tumbleweed | curl | 0 | 8.1.0-1.1 |
Related vulnerabilities
- CVE-2023-46219 When saving HSTS data to an excessively long file name, curl could end up removing all… Also affects curl
- CVE-2023-46218 This flaw allows a malicious HTTP server to set "super cookies" in curl that are then… Also affects curl
- CVE-2023-38545 This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake. Also affects curl
- CVE-2023-38546 This flaw allows an attacker to insert cookies at will into a running program using… Also affects curl
- CVE-2023-28322 An information disclosure vulnerability exists in curl <v8.1.0 when doing HTTP(S)… Also affects curl
- CVE-2023-28321 An improper certificate validation vulnerability exists in curl <v8.1.0 in the way it… Also affects curl
- CVE-2023-28320 A denial of service vulnerability exists in curl <v8.1.0 in the way libcurl provides… Also affects curl
- CVE-2023-27534 A path traversal vulnerability exists in curl <8.0.0 SFTP implementation causes the tilde… Also affects curl