When a libcurl-based application performs transfers via SCP:// or SFTP://
and utilizes the CURLOPT_SSH_KEYFUNCTION callback, it may silently accept an
untrusted server. This vulnerability occurs when a server presents a host key
type that does not match the specific key type already recorded for that host
in the known_hosts file. Instead of rejecting the mismatch, the callback
mechanism fails to properly enforce the restriction, allowing the connection
to succeed without warning and risking a potential man-in-the-middle attack.
{
"package": "curl",
"URL": "https://curl.se/docs/CVE-2026-9547.json",
"last_affected": "8.20.0",
"issue": "https://hackerone.com/reports/3751712",
"affects": "lib",
"severity": "Low",
"www": "https://curl.se/docs/CVE-2026-9547.html",
"CWE": {
"desc": "Improper Validation of Certificate with Host Mismatch",
"id": "CWE-297"
}
}"https://curl.se/docs/CURL-CVE-2026-9547.json"
"2026-06-24T08:07:06Z"
[
{
"target": {
"file": "lib/vssh/libssh.c",
"function": "myssh_is_known"
},
"id": "CURL-CVE-2026-9547-e5ddacc0",
"source": "https://github.com/curl/curl.git/commit/0b8dbbc63c98777e4584cb9fbd71df3464008ad1",
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 4615.0,
"function_hash": "171591672620915120098914005398439744356"
},
"signature_version": "v1"
},
{
"target": {
"file": "lib/vssh/libssh.c"
},
"id": "CURL-CVE-2026-9547-ffd5c5b3",
"source": "https://github.com/curl/curl.git/commit/0b8dbbc63c98777e4584cb9fbd71df3464008ad1",
"signature_type": "Line",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"19522727956082994505377891717732253881",
"17505745399782688697084999810884215111",
"65466782891270922555303879365870593631",
"39998244195617753293703183793609467932"
]
},
"signature_version": "v1"
}
]