Follow @Openwall on Twitter for new release announcements and other news
[<prev] [day] [month] [year] [list]
Message-ID: <n22p0976-32rq-9n56-n206-5o42o51090r5@unkk.fr>
Date: Wed, 5 Nov 2025 08:14:12 +0100 (CET)
From: Daniel Stenberg <daniel@...x.se>
To: curl security announcements -- curl users <curl-users@...ts.haxx.se>, 
    curl-announce@...ts.haxx.se, libcurl hacking <curl-library@...ts.haxx.se>, 
    oss-security@...ts.openwall.com
Subject: [SECURITY ADVISORY] curl: missing SFTP host verification with
 wolfSSH

missing SFTP host verification with wolfSSH
===========================================

Project curl Security Advisory, November 5 2025 -
[Permalink](https://curl.se/docs/CVE-2025-10966.html)

VULNERABILITY
-------------

curl's code for managing SSH connections when SFTP was done using the wolfSSH
powered backend was flawed and missed host verification mechanisms.

This prevents curl from detecting MITM attackers and more.

INFO
----

curl contains support for several different SSH backends, out of which wolfSSH
is the newest and one that seems to almost never be used. Of course partially
because of its incomplete state. When building curl, a single specific SSH
backend is selected at build-time.

The wolfSSH backend never supported SCP, only SFTP.

As the wolfSSH backend was documented to be incomplete and to fail tests, we
don't expect many users to use this code in production.

The missing known host support and host key verification for wolfSSH were
omissions from the time this code was added, as we expected and hoped it would
grow and get improved over time. As we never got bug reports or comments on
the code (which implies that nobody uses it) it never triggered anyone to
continue the improvements and complete the implementation.

We have since introduced the concept of experimental features, and should we
have done this attempt today this code would probably never have left the
experimental state.

We have now completely removed support for wolfSSH.

The Common Vulnerabilities and Exposures (CVE) project has assigned the name
CVE-2025-10966 to this issue.

CWE-322: Key Exchange without Entity Authentication

Severity: Low

AFFECTED VERSIONS
-----------------

- Affected versions: curl 7.69.0 to and including 8.16.0
- Not affected versions: curl < 7.69.0 and >= 8.16.0
- Introduced-in: https://github.com/curl/curl/commit/6773c7ca65cf2183295e56

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

This bug is not considered a *C mistake*. It is not likely to have been
avoided had we not been using C.

This flaw also affects the curl command line tool.

SOLUTION
------------

Starting in curl 8.17.0, this mistake is fixed. Support for wolfSSH is
dropped.

- Fixed-in: https://github.com/curl/curl/commit/b011e3fcfb06d6c027859

RECOMMENDATIONS
--------------

  A - Upgrade curl to version 8.17.0

  B - Build curl with another SSH backend

  C - Avoid using `sftp://`

TIMELINE
--------

This issue was reported to the curl project on September 23, 2025. We
contacted distros@...nwall on October 29, 2025.

curl 8.17.0 was released on November 5 2025 around 07:00 UTC, coordinated
with the publication of this advisory.

The curl security team is not aware of any active exploits using this
vulnerability.

CREDITS
-------

- Reported-by: Stanislav Fort (Aisle Research)
- Patched-by: Daniel Stenberg

Thanks a lot!

-- 

  / daniel.haxx.se || https://rock-solid.curl.dev

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.