CVE-2025-15224
cURL vulnerability analysis and mitigation

Overview

CVE-2025-15224 is an improper authentication vulnerability in curl, named "libssh key passphrase bypass without agent set," in which curl incorrectly falls back to authenticating via a locally running SSH agent when performing SCP or SFTP transfers that were explicitly configured to use public key authentication. It affects curl versions 7.58.0 through 8.17.0 (inclusive) and was introduced via the libssh backend; builds using the libssh2 backend are not affected. The vulnerability was reported on December 28, 2025, by Harry Sintonen, and publicly disclosed alongside the release of curl 8.18.0 on January 7, 2026. It carries a CVSS v3.1 base score of 3.1 (Low) (curl Advisory, Openwall OSS-Sec).

Technical details

The root cause is classified as CWE-287 (Improper Authentication) and stems from a surprising API behavior in the libssh library, which silently falls back to SSH agent authentication when public key authentication is requested. When curl is built with the libssh backend and a user specifies public key authentication for SCP or SFTP transfers, libssh's fallback mechanism causes curl to query a locally running SSH agent instead of strictly enforcing the requested authentication method. Exploitation requires that the local SSH agent actually holds the correct key/passphrase for the target server — the agent authentication will only succeed if the agent has the appropriate credentials. This flaw affects both the curl command-line tool and libcurl-based applications (curl Advisory, Openwall OSS-Sec).

Impact

The primary impact is a low-severity integrity issue: an attacker or misconfigured environment could cause curl to authenticate to an SSH server using an unintended method (SSH agent) rather than the explicitly configured public key, potentially bypassing intended authentication controls for SCP/SFTP file transfers. There is no confidentiality or availability impact. The scope is limited to scenarios where a local SSH agent is running and holds valid credentials for the target server, making real-world exploitation highly constrained (curl Advisory, Feedly).

Exploitation steps

  1. Identify vulnerable target: Confirm the target system uses curl version 7.58.0–8.17.0 built with the libssh backend (not libssh2), and that the system performs SCP or SFTP transfers with public key authentication configured.
  2. Ensure SSH agent is running: Verify that a local SSH agent (e.g., ssh-agent) is running on the client system and has the correct private key loaded for the target SSH server.
  3. Trigger the fallback: Initiate a curl SCP or SFTP transfer specifying public key authentication (e.g., curl --key /path/to/key sftp://user@host/file). Due to the libssh API fallback behavior, curl will also attempt authentication via the running SSH agent.
  4. Authentication succeeds via agent: If the SSH agent holds the correct credentials for the target server, authentication proceeds through the agent rather than the explicitly specified key, bypassing the intended authentication control.
  5. Achieve unintended access: The transfer completes using agent-based authentication instead of the configured public key method, potentially circumventing security policies that restrict which keys may be used for specific transfers (curl Advisory, HackerOne).

Indicators of compromise

  • Logs: SSH server logs showing successful authentication via SSH agent (public key method attributed to agent-forwarded key) for sessions where only direct public key authentication was expected.
  • Process: Presence of a running ssh-agent process on the client system during curl SCP/SFTP operations where agent use was not intended or configured.
  • Network: SCP/SFTP connections from curl clients to SSH servers where the authentication method in SSH handshake logs shows agent-based key authentication rather than direct public key authentication.

Mitigation and workarounds

The primary fix is to upgrade curl to version 8.18.0 or later, which corrects the libssh fallback behavior. Three alternative mitigations are available for environments that cannot immediately upgrade: (A) rebuild curl using the libssh2 backend instead of libssh, (B) avoid using SFTP or SCP protocols with curl, or (C) ensure no SSH agent is running in environments where curl performs SCP/SFTP transfers. IBM has also released a patch for affected IBM MQ Operator and Queue Manager container images (curl Advisory, IBM Advisory).

Community reactions

The curl project lead Daniel Stenberg announced the release of curl 8.18.0 and the advisory on his blog and via the oss-security mailing list on January 7, 2026. The vulnerability was rated Low severity by the curl security team, and the advisory noted it is not considered a C language mistake but rather a consequence of a surprising libssh API design choice. Community and media coverage was limited given the low severity, with Linux distribution security teams (SUSE, Mageia, Ubuntu, Amazon Linux) issuing routine update advisories (Daniel Stenberg Blog, Openwall OSS-Sec).

Additional resources


SourceThis report was generated using AI

Related cURL vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-9079CRITICAL9.8
  • cURL logocURL
  • rust-doc
NoYesJul 03, 2026
CVE-2026-9546HIGH7.5
  • cURL logocURL
  • s390utils-osasnmpd
NoYesJul 03, 2026
CVE-2026-9545HIGH7.5
  • cURL logocURL
  • libcurl4-32bit
NoYesJul 03, 2026
CVE-2026-9547HIGH7.4
  • cURL logocURL
  • curl.src
NoYesJul 03, 2026
CVE-2026-9080HIGH7.3
  • cURL logocURL
  • rust-std-static-x86_64-unknown-none
NoYesJul 03, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management