Are Libcurl and Curl bad? Mitigation to vulnerabilities CVE-2023-38545 and CVE-2023-38546

CVE-2023-38546, CVE-2023-38545 curl in the wild, libcurl, curl, vulnerability, application security, vulnerability management


CVE-2023-38546, CVE-2023-38545 curl in the wild, libcurl, curl, vulnerability, application security, vulnerability management

The curl and libcurl project has shaken the world recently with a critical vulnerability for CVE-2023-38545 that has been mitigated by the condition that will trigger this vulnerability.

Recently we released two article on the vulnerability CVE-2023-38545 and how to fix curl vulnerability in various systems. This flaw could potentially cause a heap overflow, putting countless systems at risk. In this blog post, we’ll delve into the details of this vulnerability, its impact, and the steps taken to mitigate it.

Update on curl, Libcurl


OCTOBER 11, 2023 DANIEL STENBERG 9 COMMENTS In association with the release of curl 8.4.0, we publish a security advisory and all the details for CVE-2023-38545. This problem is the worst security problem found in curl in a long time. We set it to severity HIGH. At the same time, the advisory contains all the necessary details. I figured I would use a few additional words and expand the explanations for anyone who cares to understand how this flaw works and how it happened. Background curl has supported SOCKS5 since August 2002. SOCKS5 is a proxy protocol. It is a rather simple protocol for setting up network communication via a dedicated “middle man”. The protocol is for example, typically used when setting up communication to get done over Tor but also for accessing the Internet from within organizations and companies.


What is curl and how is it related to libcurl?

libcurl is a free and easy-to-use client-side URL transfer library, supporting a wide range of protocols like HTTP, HTTPS, FTP, and more. It is widely used in various applications and systems, making any vulnerability in libcurl a cause for concern.

The curl Vulnerability: CVE-2023-38545

Background

The vulnerability was related to libcurl’s support for the SOCKS5 proxy protocol. A local variable, socks5_resolve_local, was improperly managed, leading to a heap overflow condition. This could be exploited by an attacker who controls an HTTPS server accessed over a SOCKS5 proxy.

Complexity of the Attack

While the vulnerability is severe, exploiting it is not straightforward. The attacker needs to deliver a URL that will lead to the overflow. This makes the attack less direct compared to vulnerabilities where the remote end could trigger the overflow directly. If the flaw were in the HTTP/HTTPS protocols without the involvement of a SOCKS5 proxy, it would be considered a critical vulnerability.

This bug was introduced when the SOCKS5 handshake code was converted from a blocking function into a non-blocking state machine.

The analysis in this section is specific to curl version 8. Some older versions of curl version 7 have less restriction on hostname length and/or a smaller SOCKS negotiation buffer size that cannot be overridden by CURLOPT_BUFFERSIZE.

The options that cause SOCKS5 with remote hostname to be used in libcurl:

  • CURLOPT_PROXYTYPE set to type CURLPROXY_SOCKS5_HOSTNAME, or:
  • CURLOPT_PROXY or CURLOPT_PRE_PROXY set to use the scheme socks5h://
  • One of the proxy environment variables can be set to use the socks5h:// scheme. For example http_proxyHTTPS_PROXY or ALL_PROXY.

The urgency of the Issue for curl

The flaw was discovered through code review in approximately two hours, once the area of the code containing the flaw was identified. This highlights the urgency of releasing a fix for this vulnerability.

Analysis of the previous year’s vulnerabilities

Vulnerabilites, Curl, libcurl, application security, vulnerability management

Credit curl report

  1. Yearly Frequency: On average, you can expect about 0.26 vulnerabilities to be reported yearly. Again, the sample data might not be fully representative.
  2. Common Type of Vulnerabilities: The most common type of vulnerability is… actually not specified (None) in the majority of the records. It occurs 5 times in the truncated dataset. If we’re talking about specified types, lib is the only one mentioned.
  3. Severity of Vulnerabilities: The severity label that appears most frequently is ‘H’ (High), which occurs 3 times in the truncated dataset.
  4. Critical vulnerabilities were rare and only appeared in a few years like 2000, 2013.
  5. High vulnerabilities were more frequent around 2016.
  6. Medium vulnerabilities had a noticeable peak in 2016 and 2022.
  7. Low vulnerabilities have been on the rise, especially in recent years like 2022 and 2023.

Curl and libcurl Additional Flaw with mitigations

Interestingly, another flaw was discovered in the code, but it has no security impact. The state CONNECT_SOCKS_INIT lacks an intermediate CONNECT_SOCKS_INIT_SEND state. This leads to the whole initial packet being resent if a partial write happens, causing incorrect protocol communication towards the SOCKS5 proxy. This issue will likely be handled separately to avoid drawing attention to the area of the security flaw.

Curl and libcurl Affected Versions

libcurl is used by many applications, but not always advertised as such!

Curl and libcurl Upgrade and Mitigations

Starting in curl 8.4.0, curl no longer switches to local resolve mode if the name is too long but is instead rightfully returning an error.

Patch collection for older versions

RECOMMENDATIONS

A – Upgrade curl to version 8.4.0

B – Apply the patch to your local version

C – Do not use CURLPROXY_SOCKS5_HOSTNAME proxies with curl

D – Do not set a proxy environment variable to socks5h://

What is the exploitation data behind CVE-2023-38545 and CVE-2023-38546 In the wild?

CVSS: 10 -> 7.4 -> 4.4

CTI interest: Low 0.81

RCE Type Remote: Low probability (potential local authentication)

Availability: Yes

Status: Disclosed

EPSS Score: – not registered –

Currently, there are 2673 systems with some version of curl exposed, but considering curl is embedded in every window, mac, linux version and container used like Amazon the spread and surface could be quite vaste

CVE-2023-38546, CVE-2023-38545 curl in the wild
CVE-2023-38546, CVE-2023-38545 curl in the wild, libcurl, curl, vulnerability, application security, vulnerability management

Conclusion

The libcurl vulnerability, CVE-2023-38545, was a high-severity issue that required immediate attention. While the complexity of exploiting this vulnerability is high, the urgency of fixing it cannot be overstated. Additional flaws in the code, although not security-related, also need to be addressed in due course.

This vulnerability is embedded in a lot of packages, and system native calls (linux, mac) vendors might release this vulnerability in phases.

How Phoenix Security Can Help

attack graph phoenix security
ASPM

Phoenix Security helps organizations identify and trace which systems have vulnerabilities, understanding the relation between code and cloud. One of the significant challenges in securing applications is knowing where and how frameworks like Struts are used. ASPM tools can scan the application portfolio to identify instances of Struts, mapping out where it is deployed across the organization. This information is crucial for targeted security measures and efficient patch management. Phoenix Security’s robust Application Security Posture Management (ASPM) system is adept at not just managing, but preempting the exploitation of vulnerabilities through its automated identification system. This system prioritises critical vulnerabilities, ensuring that teams can address the most pressing threats first, optimising resource allocation and remediation efforts.

The Role of Application Security Posture Management (ASPM):

ASPM plays a vital role in managing and securing applications like those built with Apache Struts. It involves continuous assessment, monitoring, and improvement of the security posture of applications. ASPM tools can:

  1. Identify and Track Struts Components: Locate where Struts is implemented within the application infrastructure.
  2. Vulnerability Management: Detect known vulnerabilities in Struts and prioritize them for remediation.
  3. Configuration Monitoring: Ensure Struts configurations adhere to best security practices.
  4. Compliance: Check if the usage of Struts aligns with relevant cybersecurity regulations and standards.

By leveraging Phoenix Security, you not only unravel the potential threats but also take a significant stride in vulnerability management, ensuring your application security remains up to date and focuses on the key vulnerabilities.

Get in control of your Application Security posture and Vulnerability management

Previous Issues of Vulnerability Weekly



Francesco is an internationally renowned public speaker, with multiple interviews in high-profile publications (eg. Forbes), and an author of numerous books and articles, who utilises his platform to evangelize the importance of Cloud security and cutting-edge technologies on a global scale.

Discuss this blog with our community on Slack

Join our AppSec Phoenix community on Slack to discuss this blog and other news with our professional security team

From our Blog

Learn how to predict ransomware risks and vulnerability exploitation using a threat-centric approach. Explore data-driven insights, verified exploit trends, and methods for assessing the likelihood of attacks with key references to CISA KEV, EPSS, and Phoenix Security’s 4D Risk Formula.
Francesco Cipollone
Remote Code Execution flaws continue to undermine Kubernetes ingress integrity. IngressNightmare (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974) showcases severe threat vectors in NGINX-based proxies, leading to cluster-wide exposure. ASPM, robust remediation tactics, and strong application security solutions—like Phoenix Security—mitigate these vulnerabilities before ransomware groups exploit them.
Francesco Cipollone
Remote Code Execution flaws continue to undermine Kubernetes ingress integrity. IngressNightmare (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974) showcases severe threat vectors in NGINX-based proxies, leading to cluster-wide exposure. ASPM, robust remediation tactics, and strong application security solutions—like Phoenix Security—mitigate these vulnerabilities before ransomware groups exploit them.
Francesco Cipollone
The recent Google acquisition of Wiz for $32 billion has sent shockwaves through the cybersecurity industry, particularly in the realm of Application Security Posture Management (ASPM). This monumental deal highlights the critical importance of cloud security and the growing demand for robust ASPM solutions. While the acquisition promises potential benefits for Google Cloud users, it also raises concerns about vendor lock-in and the future of cloud-agnostic security. Explore the implications of this acquisition and discover how neutral ASPM solutions like Phoenix Security can bridge the gap in multi-cloud environments, ensuring continuous, collaborative, and comprehensive security from code to cloud.” – Find Assets/Vulns by Scanner – Detailed findings Location information Risk-based Posture Management – Risk and Risk Magnitude for Assets – Filter assets and vulnerabilities by source scanner Integrations – BurpSuite XML Import – Assessment Import API Other Improvements – Improved multi-selection in filters – New CVSS Score column in Vulnerabilities
Alfonso Eusebio
The team at Phoenix Security pleased to bring you another set of new application security (ASPM) features and improvements for vulnerability management across application and cloud security engines. This release builds on top of previous releases with key additions and progress across multiple areas of the platform. Application Security Posture Management (ASPM) Enhancements • New Weighted Asset Risk Formula – Refined risk aggregation for tailored vulnerability management. • Auto-Approval of Risk Exceptions – Accelerate mitigation by automating security approvals. • Enhanced Risk Explorer & Business Unit Insights – Monitor and analyze risk exposure by business units for better prioritization. Vulnerability & Asset Management • Link Findings to Existing Tickets – Seamless GitHub, ServiceNow, and Azure DevOps integration. • Multi-Finding Ticketing for ADO – Group multiple vulnerabilities in a single ticket for better workflow management. • Filter by Business Unit, CWE, Ownership, and Deployment Environment – Target vulnerabilities with precision using advanced filtering. Cyber Threat Intelligence & Security Enhancements • Cyber Threat Intelligence Premium – Access 128,000+ exploits for better exploitability and fixability metrics. • SBOM, Container SBOM & Open Source Artifact Analysis – Conduct deep security analysis with reachability insights. • Enhanced Lacework Container Management – Fetch and analyze running container details for better security reporting. • REST API Enhancements – Use asset tags for automated deployments and streamline security processes. Other Key Updates • CVE & CWE Columns Added – Compare vulnerabilities more effectively. • Custom Status Management for Findings – Personalize security workflows with custom status configurations. • Impact & Risk Explorer Side Panel – Gain heatmap-based insights into vulnerability distribution and team risk impact. 🚀 Stay ahead of vulnerabilities, optimize risk assessment, and enhance security efficiency with Phoenix Security’s latest features! 🚀
Alfonso Eusebio
Discover CVE-2025-30066 tj-actions/changed-files GitHub Action has been compromised, exposing secrets in CI/CD pipelines and posing a major software supply chain security risk. Attackers injected malicious code into all versions (V1–V45), repointing existing tags to a compromised commit that exfiltrated credentials via GitHub Actions logs. Immediate remediation is required—organizations must scan their repositories, rotate secrets, and replace the action to mitigate risk. Learn how Phoenix Security’s ASPM can automate threat detection and enhance GitHub Actions security.
Francesco Cipollone
Derek

Derek Fisher

Head of product security at a global fintech

Derek Fisher – Head of product security at a global fintech. Speaker, instructor, and author in application security.

Derek is an award winning author of a children’s book series in cybersecurity as well as the author of “The Application Security Handbook.” He is a university instructor at Temple University where he teaches software development security to undergraduate and graduate students. He is a speaker on topics in the cybersecurity space and has led teams, large and small, at organizations in the healthcare and financial industries. He has built and matured information security teams as well as implemented organizational information security strategies to reduce the organizations risk.

Derek got his start in the hardware engineering space where he learned about designing circuits and building assemblies for commercial and military applications. He later pursued a computer science degree in order to advance a career in software development. This is where Derek was introduced to cybersecurity and soon caught the bug. He found a mentor to help him grow in cybersecurity and then pursued a graduate degree in the subject.

Since then Derek has worked in the product security space as an architect and leader. He has led teams to deliver more secure software in organizations from multiple industries. His focus has been to raise the security awareness of the engineering organization while maintaining a practice of secure code development, delivery, and operations.

In his role, Jeevan handles a range of tasks, from architecting security solutions to collaborating with Engineering Leadership to address security vulnerabilities at scale and embed security into the fabric of the organization.

Jeevan Singh

Jeevan Singh

Founder of Manicode Security

Jeevan Singh is the Director of Security Engineering at Rippling, with a background spanning various Engineering and Security leadership roles over the course of his career. He’s dedicated to the integration of security practices into software development, working to create a security-aware culture within organizations and imparting security best practices to the team.
In his role, Jeevan handles a range of tasks, from architecting security solutions to collaborating with Engineering Leadership to address security vulnerabilities at scale and embed security into the fabric of the organization.

James

James Berthoty

Founder of Latio Tech

James Berthoty has over ten years of experience across product and security domains. He founded Latio Tech to help companies find the right security tools for their needs without vendor bias.

christophe

Christophe Parisel

Senior Cloud Security Architect

Senior Cloud Security Architect

Chris

Chris Romeo

Co-Founder
Security Journey

Chris Romeo is a leading voice and thinker in application security, threat modeling, and security champions and the CEO of Devici and General Partner at Kerr Ventures. Chris hosts the award-winning “Application Security Podcast,” “The Security Table,” and “The Threat Modeling Podcast” and is a highly rated industry speaker and trainer, featured at the RSA Conference, the AppSec Village @ DefCon, OWASP Global AppSec, ISC2 Security Congress, InfoSec World and All Day DevOps. Chris founded Security Journey, a security education company, leading to an exit in 2022. Chris was the Chief Security Advocate at Cisco, spreading security knowledge through education and champion programs. Chris has twenty-six years of security experience, holding positions across the gamut, including application security, security engineering, incident response, and various Executive roles. Chris holds the CISSP and CSSLP certifications.

jim

Jim Manico

Founder of Manicode Security

Jim Manico is the founder of Manicode Security, where he trains software developers on secure coding and security engineering. Jim is also the founder of Brakeman Security, Inc. and an investor/advisor for Signal Sciences. He is the author of Iron-Clad Java: Building Secure Web Applications (McGraw-Hill), a frequent speaker on secure software practices, and a member of the JavaOne Rockstar speaker community. Jim is also a volunteer for and former board member of the OWASP foundation.

Join our Mailing list!

Get all the latest news, exclusive deals, and feature updates.

The IKIGAI concept
x  Powerful Protection for WordPress, from Shield Security
This Site Is Protected By
ShieldPRO