Skip to main content

curl CVE-2026-9547

| EUVDEUVD-2026-41495 HIGH
Improper Validation of Certificate with Host Mismatch (CWE-297)
7.4
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain man-in-the-middle network position
  2. Delivery
    Present mismatched host key type
  3. Exploit
    Callback fails to reject mismatch
  4. Execution
    Connection silently accepted
  5. Impact
    Intercept and tamper with SCP/SFTP data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate host validation
Exploitation Conditions

Exploitation requires all of: (1) a libcurl-based application performing SCP:// or SFTP:// transfers; (2) that application having registered the CURLOPT_SSH_KEYFUNCTION callback rather than relying on default strict verification; (3) the target host already having an entry in the known_hosts file recorded with a specific key type; and (4) the attacker being able to present a server key of a DIFFERENT type for that host. The limiting factors are significant: the attacker must hold a man-in-the-middle network position (reflected in AC:H), the vulnerable callback is not used by every libcurl consumer (application-specific, effectively non-default), and a prior known_hosts pin of a differing key type must exist. No end-user interaction and no authentication are required (PR:N/UI:N), but the MitM positioning and specific callback usage sharply narrow real-world applicability.

Impact

The signals are internally consistent and point to a real but conditional risk. The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N, base 7.4) captures a network, unauthenticated attack with high confidentiality and integrity impact but explicitly high attack complexity - reflecting that the attacker must occupy a man-in-the-middle position and the target must have a prior known_hosts entry of a differing key type. This is not exploitable at scale: EPSS is low (0.19%), the vulnerability is not in CISA KEV (no confirmed active exploitation), and no public exploit code was identified. The tag labels this Information Disclosure, but the I:H metric correctly recognizes that a successful MitM also permits tampering with SCP/SFTP payloads, not just eavesdropping. Net: a legitimate patch-worthy issue for anyone running libcurl apps that use CURLOPT_SSH_KEYFUNCTION over SSH transfers, but a targeted/opportunistic-MitM concern rather than a mass-exploitation emergency.

Exploit ScenarioDerived

An attacker who can intercept traffic between a libcurl-based application and its SFTP server (e.g. on a shared LAN, via ARP/DNS spoofing, or a rogue upstream) presents a host key of a different algorithm than the one pinned in known_hosts. Because the CURLOPT_SSH_KEYFUNCTION path fails to reject the type mismatch, the client silently connects to the attacker's server, letting them read and alter the files being transferred. No public exploit code is known, and the high attack complexity reflects the required MitM position and pre-existing known_hosts entry.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv5 – Jul 06, 2026

Host key verification bypass in libcurl affects applications using the CURLOPT_SSH_KEYFUNCTION callback for SCP:// or SFTP:// transfers, where a server presenting a host key of a different type than the one already recorded in known_hosts is silently accepted instead of rejected. This lets a network-positioned attacker impersonate a trusted SSH server and mount a man-in-the-middle attack, exposing and tampering with transferred data. There is no public exploit identified at time of analysis, and the EPSS probability is low (0.19%, 9th percentile), reflecting the specific application configuration and attacker positioning required.

Earlier versions of this analysis (4)
v4 Jul 06, 2026 - 18:43 cvss changed CVSS 7.4

Man-in-the-middle exposure in libcurl SCP/SFTP transfers arises when an application uses the CURLOPT_SSH_KEYFUNCTION callback and a server presents a host key whose type differs from the one already pinned for that host in known_hosts; libcurl fails to enforce the mismatch and completes the connection silently. This affects a very broad range of curl releases (7.69.x through 8.x per EUVD) but requires an attacker already positioned to intercept traffic, reflected in the low EPSS (0.19%, 9th percentile). No public exploit identified at time of analysis, and it is not listed in CISA KEV.

v3 Jul 06, 2026 - 18:42 cvss changed CVSS 7.4

Host key verification bypass in libcurl affecting SCP:// and SFTP:// transfers allows an attacker in a man-in-the-middle position to impersonate a trusted server. When an application registers the CURLOPT_SSH_KEYFUNCTION callback, libcurl fails to reject a server that presents a host key of a different type than the one already pinned in known_hosts, silently accepting the connection. No public exploit has been identified at time of analysis, and EPSS is low (0.19%, 9th percentile), consistent with a high-complexity MITM prerequisite rather than mass exploitation.

v2 Jul 06, 2026 - 18:42 cvss changed CVSS 7.4

Host key verification bypass in libcurl affects SCP:// and SFTP:// transfers when the application registers a CURLOPT_SSH_KEYFUNCTION callback: if a server presents a host key of a different type than the one already pinned for that host in known_hosts, libcurl silently accepts the connection instead of rejecting the mismatch, enabling man-in-the-middle interception. The flaw carries CVSS 7.4 (high) with confidentiality and integrity impact but requires an on-path attacker. There is no public exploit identified at time of analysis, EPSS is low at 0.19% (9th percentile), and a vendor patch is available.

v1 Jun 24, 2026 - 18:30

SSH improper host validation in curl allows connections to proceed without adequate verification of the remote SSH server's identity, enabling potential man-in-the-middle interception of SFTP or SCP sessions. Rated LOW severity by the curl project and fixed in curl 8.21.0 released June 24, 2026, this flaw belongs to a coordinated batch of 18 CVEs disclosed simultaneously. No public exploit code has been identified at time of analysis, and it is not listed in the CISA KEV catalog.

RemediationAI

Patch available per vendor advisory (https://curl.se/docs/CVE-2026-9547.html); an exact fixed release version was not specified in the provided data, so upgrade to the latest curl/libcurl build offered by your vendor or distribution and confirm the fixed version against the advisory before deploying - for Debian/Ubuntu systems apply the packages referenced in USN-8487-1. Do not rely on an assumed version number; verify the fixed tag directly from curl.se. As a compensating control until patched, avoid or disable use of the CURLOPT_SSH_KEYFUNCTION callback so libcurl falls back to strict known_hosts matching, at the cost of losing the application's custom key-acceptance logic; alternatively, restrict SCP/SFTP transfers to hosts reached over trusted or authenticated network paths (VPN or mutually authenticated tunnels) to remove the man-in-the-middle opportunity, and pre-populate known_hosts with the correct key type for each server so that no legitimate type change is expected. Each mitigation reduces flexibility or requires tighter operational control of the network path.

Affected VersionsENISA

curl 8.10.0 ≤8.10.0
curl 8.1.0 ≤8.1.0
curl 7.83.0 ≤7.83.0
curl 7.86.0 ≤7.86.0
curl 7.81.0 ≤7.81.0
curl 7.85.0 ≤7.85.0
curl 8.12.0 ≤8.12.0
curl 8.20.0 ≤8.20.0
curl 8.19.0 ≤8.19.0
curl 8.17.0 ≤8.17.0
curl 7.72.0 ≤7.72.0
curl 8.10.1 ≤8.10.1
curl 8.5.0 ≤8.5.0
curl 8.1.2 ≤8.1.2
curl 8.1.1 ≤8.1.1
curl 8.7.1 ≤8.7.1
curl 8.11.0 ≤8.11.0
curl 8.4.0 ≤8.4.0
curl 7.69.0 ≤7.69.0
curl 7.80.0 ≤7.80.0
curl 7.69.1 ≤7.69.1
curl 8.9.1 ≤8.9.1
curl 7.88.0 ≤7.88.0
curl 8.14.1 ≤8.14.1
curl 8.11.1 ≤8.11.1
curl 7.84.0 ≤7.84.0
curl 8.0.1 ≤8.0.1
curl 7.87.0 ≤7.87.0
curl 8.7.0 ≤8.7.0
curl 7.75.0 ≤7.75.0
curl 7.82.0 ≤7.82.0
curl 8.14.0 ≤8.14.0
curl 8.18.0 ≤8.18.0
curl 8.16.0 ≤8.16.0
curl 7.74.0 ≤7.74.0
curl 8.13.0 ≤8.13.0
curl 8.8.0 ≤8.8.0
curl 8.2.0 ≤8.2.0
curl 7.76.0 ≤7.76.0
curl 7.78.0 ≤7.78.0
curl 7.71.1 ≤7.71.1
curl 7.79.1 ≤7.79.1
curl 8.0.0 ≤8.0.0
curl 8.2.1 ≤8.2.1
curl 7.79.0 ≤7.79.0
curl 8.15.0 ≤8.15.0
curl 8.9.0 ≤8.9.0
curl 8.3.0 ≤8.3.0
curl 7.88.1 ≤7.88.1
curl 8.12.1 ≤8.12.1
curl 7.83.1 ≤7.83.1
curl 7.73.0 ≤7.73.0
curl 8.6.0 ≤8.6.0
curl 7.70.0 ≤7.70.0
curl 7.77.0 ≤7.77.0
curl 7.71.0 ≤7.71.0
curl 7.76.1 ≤7.76.1

Affected Packages

euvd curl no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libcurl is the transfer engine underlying countless applications and utilities, and its SCP/SFTP support is provided through an SSH backend (typically libssh2 or libssh). Host authentication normally relies on matching the server's presented host key against a pinned entry in the known_hosts file. Applications can register the CURLOPT_SSH_KEYFUNCTION callback to programmatically decide whether to accept a host key. The flaw is a host-key verification weakness (functionally an improper certificate/key validation issue, CWE-295-class; no CWE was assigned in the source data): when the server offers a key of a different algorithm/type than the one already stored for that host, libcurl's callback path fails to treat the type mismatch as a rejection and permits the connection, defeating the trust-on-first-use pinning that known_hosts is meant to enforce.

Know when Curl gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CNA) PRIMARY 7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 7.4 HIGH

Network MitM with no auth (AV:N/PR:N) but requires attacker positioning, a specific callback, and a prior key-type pin (AC:H); MitM enables read and modify of transfers (C:H/I:H), no availability impact (A:N).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.4 HIGH

Primary rating from Vendor (CNA).

CVSS VectorVendor

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

5
Analysis Updated
Jul 06, 2026 - 18:44 vuln.today
v5 - CVSS changed
Analysis Updated
Jul 06, 2026 - 18:43 vuln.today
v4 - CVSS changed
Analysis Updated
Jul 06, 2026 - 18:42 vuln.today
v3 - CVSS changed
Analysis Updated
Jul 06, 2026 - 18:42 vuln.today
v2 - CVSS changed
CVSS changed
Jul 06, 2026 - 18:22 NVD
7.4 (HIGH)

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

libcurl versions with SFTP/SCP support are vulnerable to host key verification bypass, allowing network-positioned attackers to impersonate trusted SSH servers and intercept or modify file transfers. This creates significant risk to organizations transmitting sensitive data via SFTP/SCP. No public exploit identified at time of analysis, but the vulnerability requires immediate patching due to its severity and potential for data compromise.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Ubiquitous
libcurl is embedded in vast numbers of applications, OSes, and devices
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +37
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Curl

View all
CVE-2021-22901 HIGH POC
8.1 Jun 11

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when

CVE-2013-0249 HIGH POC
7.5 Mar 08

Stack-based buffer overflow in the Curl_sasl_create_digest_md5_message function in lib/curl_sasl.c in curl and libcurl 7

CVE-2015-3145 HIGH
7.5 Apr 24

The sanitize_cookie_path function in cURL and libcurl 7.31.0 through 7.41.0 does not properly calculate an index, which

CVE-2022-32206 MEDIUM POC
6.5 Jul 07

curl < 7.84.0 supports "chained" HTTP compression algorithms, meaning that a serverresponse can be compressed multiple t

CVE-2022-32207 CRITICAL POC
9.8 Jul 07

When curl < 7.84.0 saves cookies, alt-svc and hsts data to local files, it makes the operation atomic by finalizing the

CVE-2022-43551 HIGH POC
7.5 Dec 23

A vulnerability exists in curl <7.87.0 HSTS check that could be bypassed to trick it to keep using HTTP. Rated high seve

CVE-2022-32221 CRITICAL POC
9.8 Dec 05

When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data t

CVE-2018-0500 CRITICAL POC
9.8 Jul 11

Curl_smtp_escape_eob in lib/smtp.c in curl 7.54.1 to and including curl 7.60.0 has a heap-based buffer overflow that mig

CVE-2022-32205 MEDIUM POC
4.3 Jul 07

A malicious server can serve excessive amounts of `Set-Cookie:` headers in a HTTP response to curl and curl < 7.84.0 sto

CVE-2025-9086 HIGH POC
7.5 Sep 12

1. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack co

CVE-2023-23914 CRITICAL POC
9.1 Feb 23

A cleartext transmission of sensitive information vulnerability exists in curl <v7.88.0 that could cause HSTS functional

CVE-2023-27534 HIGH POC
8.8 Mar 30

A path traversal vulnerability exists in curl <8.0.0 SFTP implementation causes the tilde (~) character to be wrongly re

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SLES15-SP5-CHOST-BYOS-SAP-CCloud Affected
SLES15-SP6-CHOST-BYOS Affected
SLES15-SP6-CHOST-BYOS-Aliyun Affected
SLES15-SP6-CHOST-BYOS-Azure Affected
SLES15-SP6-CHOST-BYOS-EC2 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy