blog

How to update curl and libcurl without panic fixing CVE-2023-38545 and CVE-2023-38546 Vulnerabilities

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


What is curl, and which version is vulnerable

The security community and developer alike relies on curl command-line tool used for transferring data with URLs, is an indispensable asset for developers and cybersecurity professionals. Its versatility in supporting various protocols makes it a go-to tool for many. However, like a fortified castle with a hidden weak spot, libcurl and the software itself too has its vulnerabilities. Recently, two notable Common Vulnerabilities and Exposures (CVEs) were identified – CVE-2023-38545 and CVE-2023-38546. The latter, rated as high severity, affects both libcurl and the curl tool, marking a significant security concern. This blog aims to delve into these vulnerabilities and provide a guide on how to ensure your software version or library like libcurl is updated and secure. Please follow the step below and the verification to ensure your vulnerability management program and applications in your application security program are secure.


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. While 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 Internet from within organizations and companies.


How to update curl on macOS:

  1. Homebrew Installation:
    • Install the latest version of cURL using Homebrew with the command: brew install curl
    • Override the system default cURL by updating the system path: echo 'export PATH="/opt/homebrew/opt/curl/bin:$PATH"' >> ~/.zshrc
    • Verify the update by opening a new terminal window and executing: curl --version

How to update curl on Windows:

  1. Version Check:
    • Open the Command Prompt and enter curl --version to check the installed version.
    • Determine the installation type by running where curl.
  2. Windows Update:
    • If using the pre-installed version, check for official updates from Microsoft to get the patched version of cURL.
  3. Using Package Managers:
    • Install or update cURL using Winget: winget install curl.curl
    • Or using Chocolatey: choco install curl
  4. Environment Variables:
    • Adjust the PATH environment variables to prioritize the newly installed version.

How to update curl on Linux:

  1. APT (Debian, Ubuntu): sudo apt-get update sudo apt-get upgrade curl
  2. Snap (Primarily Ubuntu): snap install curl
  3. DNF (RHEL, Rocky, Fedora): sudo dnf check-update sudo dnf install curl
  4. APK (Alpine): sudo apk update sudo apk add curl

Building cURL from Source:

For users comfortable with building from source, they can download the latest cURL source code and compile it. Here’s an example on an M1 Mac running MacOS Ventura:

Install Xcode command line tools.

Execute the build commands:
codeautoreconf -fi export ARCH=arm64 export SDK=macosx ... make -j8

Verify the build with ./src/.libs/curl --versio

Why this critical vulnerability was controversial

Its disclosure marked a significant moment, stirring discussions in the cybersecurity community. A GitHub discussion led by one of the software maintainer unveiled the upcoming release of the software version 8.4.0 on October 11, aimed at patching this security flaw alongside a low-severity vulnerability, CVE-2023-38546. Although details regarding the affected version range were withheld for security reasons, the announcement serves as a call to action for users to update their Curl version promptly.

In a recent twitter conversation, the curl team has warned teams for the October 11 release but without disclosing additional information on which version is likely to be vulnerable. This to discourage early attacks

Recently curl was in the spotlight due to the erroneous disclosure:  maintainers have been vocal about downplaying the risk associated with most vulnerabilities reported against curl  in the past (a recent example is the article CVE-2020-19909 is everything that is wrong with CVEs), nonetheless in this case he warned — adding, “buckle up.”

Detail of the curl vulnerability vulnerability CVE-2023-38545 and CVE-2023-38546

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

CVSS: 10->4.4

CTI interest: Low

RCE Type Remote: Unknown (potential local authentication)

Availability: No

Status: Undisclosed

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 vast

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 an overview of your asset lineage

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

Discover and fix CVE-2024-3094 vulnerability affecting Linux distributions liblzma, part of the xz package, Fedora, openSUSE, Debian, and Kali. Get the latest updates, fixes, and security recommendations to safeguard your system against unauthorized access through compromised XZ Utils. Protect and discover the affected system with ASPM, Application security Posture management
Francesco Cipollone
Discover and fix CVE-2024-3094 vulnerability affecting Linux distributions liblzma, part of the xz package, Fedora, openSUSE, Debian, and Kali. Get the latest updates, fixes, and security recommendations to safeguard your system against unauthorized access through compromised XZ Utils. Protect and discover the affected system with ASPM, Application security Posture management
Francesco Cipollone
Discover and fix CVE-2024-3094 vulnerability affecting Linux distributions liblzma, part of the xz package, Fedora, openSUSE, Debian, and Kali. Get the latest updates, fixes, and security recommendations to safeguard your system against unauthorized access through compromised XZ Utils. Protect and discover the affected system with ASPM, Application security Posture management
Francesco Cipollone
Explore the interplay between the MITRE ATT&CK framework and EPSS for effective vulnerability management. Learn how these tools help predict and prioritize cyber threats, with deep dives into the most and least exploited techniques. Stay ahead in cybersecurity with Phoenix’s advanced analysis.
Francesco Cipollone

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

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 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 Parisel

Senior Cloud Security Architect

Senior Cloud Security Architect

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 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.