CVE-2025-10966 Overview
CVE-2025-10966 affects curl's SSH connection management code when performing SFTP transfers through the wolfSSH-powered backend. The implementation omits host verification mechanisms, leaving clients unable to detect man-in-the-middle (MITM) attackers positioned on the network path. An attacker with the ability to intercept traffic between a curl client and an SFTP server can impersonate the server without triggering host key validation failures. The flaw is limited to curl builds compiled with the wolfSSH SSH backend for SFTP support. The vendor haxx published the advisory on curl.se, and the issue was disclosed publicly on November 5, 2025.
Critical Impact
Missing SSH host verification in the wolfSSH SFTP backend allows attackers on the network path to intercept SFTP sessions and read credentials or data in transit.
Affected Products
- Haxx curl compiled with the wolfSSH SFTP backend
- Downstream products bundling affected curl builds (see Siemens ProductCERT advisory SSA-253495)
- Any application invoking libcurl for SFTP through wolfSSH
Discovery Timeline
- 2025-11-05 - Public disclosure on the OpenWall oss-security mailing list
- 2025-11-07 - CVE-2025-10966 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-10966
Vulnerability Analysis
The defect resides in curl's SSH connection setup path for the wolfSSH backend, which handles SFTP (SSH File Transfer Protocol) transfers. curl supports multiple SSH backends, including libssh2, libssh, and wolfSSH. The wolfSSH integration failed to invoke the host key verification routines that the other backends perform before completing the SSH handshake.
Without host verification, curl does not compare the server's presented host key against a known_hosts entry or a caller-supplied fingerprint. The client therefore accepts any key an endpoint presents on the SFTP port. An attacker who can redirect or intercept TCP traffic can terminate the SSH session on their own server, harvest authentication material, and proxy or modify data forwarded to the real backend.
The issue is a network-adjacent authentication weakness rather than a memory safety bug. Exploitation requires the attacker to already have a network position that permits traffic interception, such as a rogue Wi-Fi hop, ARP spoofing, BGP hijack, or a compromised upstream router.
Root Cause
The root cause is missing certificate/host key validation logic in the wolfSSH-specific SFTP code path within curl. The verification call present in other backends was not implemented for the wolfSSH build, producing a fail-open behavior during the SSH handshake.
Attack Vector
Exploitation is network-based and requires low attacker privileges. The attacker must be able to intercept or reroute the victim's SFTP traffic to reach the curl client. Once positioned, the attacker completes an SSH handshake using an arbitrary host key. curl proceeds with authentication and file transfer against the malicious endpoint. Refer to the cURL CVE-2025-10966 Documentation for backend-specific technical details.
Detection Methods for CVE-2025-10966
Indicators of Compromise
- Unexpected SSH host key changes observed on SFTP endpoints contacted by curl-based clients
- Outbound SFTP sessions from hosts using curl built with --with-wolfssh to unrecognized IP addresses or intermediate hops
- Successful SFTP authentications where server host key fingerprints do not match the operator's known_hosts baseline
Detection Strategies
- Inventory curl and libcurl builds across the environment and flag any linked against wolfSSH for SFTP
- Compare SSH host key fingerprints captured at network egress against an authoritative baseline for each SFTP destination
- Alert on new or duplicate SSH host keys presented for the same destination hostname across different sessions
Monitoring Recommendations
- Enable SSH session logging on SFTP servers and reconcile client IP addresses with expected sources
- Monitor for ARP spoofing, DNS response tampering, and unexpected TLS or SSH interception on network segments carrying SFTP
- Track curl version strings in application logs to identify hosts still running vulnerable builds
How to Mitigate CVE-2025-10966
Immediate Actions Required
- Upgrade curl to a version that includes the wolfSSH host verification fix as published on curl.se
- Rebuild any custom curl or libcurl binaries linked against wolfSSH and redistribute updated packages
- Rotate SFTP credentials that may have been transmitted through curl builds using the wolfSSH backend
Patch Information
The curl project has published fixed builds and per-CVE guidance. Consult the cURL CVE-2025-10966 Documentation and the cURL CVE-2025-10966 JSON Details for exact fixed versions. Downstream vendors, including Siemens, have issued coordinated advisories such as Siemens Product Security Advisory SSA-253495.
Workarounds
- Rebuild curl with an alternative SSH backend such as libssh2 or libssh where host verification is enforced
- Restrict SFTP traffic to trusted network paths using VPNs or IPsec tunnels until patched builds are deployed
- Pin server identity through out-of-band host key distribution and verify fingerprints manually before running curl-based SFTP jobs
# Verify which SSH backend your curl binary uses
curl -V | tr ' ' '\n' | grep -iE 'ssh|wolfssh'
# Example: force use of a non-wolfSSH build by pointing to a patched binary
/opt/curl-patched/bin/curl -u user: --key ~/.ssh/id_rsa \
sftp://sftp.example.com/path/file.txt
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

