{"id":"CVE-2026-9547","summary":"SSH improper host validation","details":"When a libcurl-based application performs transfers via `SCP://` or `SFTP://`\nand utilizes the `CURLOPT_SSH_KEYFUNCTION` callback, it may silently accept an\nuntrusted server. This vulnerability occurs when a server presents a host key\ntype that does not match the specific key type already recorded for that host\nin the `known_hosts` file. Instead of rejecting the mismatch, the callback\nmechanism fails to properly enforce the restriction, allowing the connection\nto succeed without warning and risking a potential man-in-the-middle attack.","aliases":["CURL-CVE-2026-9547"],"modified":"2026-07-11T18:29:38.269768081Z","published":"2026-07-03T06:18:44.499Z","related":["openSUSE-SU-2026:11230-1","openSUSE-SU-2026:21272-1"],"database_specific":{"unresolved_ranges":[{"extracted_events":[{"introduced":"8.20.0"},{"last_affected":"8.20.0"},{"introduced":"8.19.0"},{"last_affected":"8.19.0"},{"introduced":"8.18.0"},{"last_affected":"8.18.0"},{"introduced":"8.17.0"},{"last_affected":"8.17.0"},{"introduced":"8.16.0"},{"last_affected":"8.16.0"},{"introduced":"8.15.0"},{"last_affected":"8.15.0"},{"introduced":"8.14.1"},{"last_affected":"8.14.1"},{"introduced":"8.14.0"},{"last_affected":"8.14.0"},{"introduced":"8.13.0"},{"last_affected":"8.13.0"},{"introduced":"8.12.1"},{"last_affected":"8.12.1"},{"introduced":"8.12.0"},{"last_affected":"8.12.0"},{"introduced":"8.11.1"},{"last_affected":"8.11.1"},{"introduced":"8.11.0"},{"last_affected":"8.11.0"},{"introduced":"8.10.1"},{"last_affected":"8.10.1"},{"introduced":"8.10.0"},{"last_affected":"8.10.0"},{"introduced":"8.9.1"},{"last_affected":"8.9.1"},{"introduced":"8.9.0"},{"last_affected":"8.9.0"},{"introduced":"8.8.0"},{"last_affected":"8.8.0"},{"introduced":"8.7.1"},{"last_affected":"8.7.1"},{"introduced":"8.7.0"},{"last_affected":"8.7.0"},{"introduced":"8.6.0"},{"last_affected":"8.6.0"},{"introduced":"8.5.0"},{"last_affected":"8.5.0"},{"introduced":"8.4.0"},{"last_affected":"8.4.0"},{"introduced":"8.3.0"},{"last_affected":"8.3.0"},{"introduced":"8.2.1"},{"last_affected":"8.2.1"},{"introduced":"8.2.0"},{"last_affected":"8.2.0"},{"introduced":"8.1.2"},{"last_affected":"8.1.2"},{"introduced":"8.1.1"},{"last_affected":"8.1.1"},{"introduced":"8.1.0"},{"last_affected":"8.1.0"},{"introduced":"8.0.1"},{"last_affected":"8.0.1"},{"introduced":"8.0.0"},{"last_affected":"8.0.0"},{"introduced":"7.88.1"},{"last_affected":"7.88.1"},{"introduced":"7.88.0"},{"last_affected":"7.88.0"},{"introduced":"7.87.0"},{"last_affected":"7.87.0"},{"introduced":"7.86.0"},{"last_affected":"7.86.0"},{"introduced":"7.85.0"},{"last_affected":"7.85.0"},{"introduced":"7.84.0"},{"last_affected":"7.84.0"},{"introduced":"7.83.1"},{"last_affected":"7.83.1"},{"introduced":"7.83.0"},{"last_affected":"7.83.0"},{"introduced":"7.82.0"},{"last_affected":"7.82.0"},{"introduced":"7.81.0"},{"last_affected":"7.81.0"},{"introduced":"7.80.0"},{"last_affected":"7.80.0"},{"introduced":"7.79.1"},{"last_affected":"7.79.1"},{"introduced":"7.79.0"},{"last_affected":"7.79.0"},{"introduced":"7.78.0"},{"last_affected":"7.78.0"},{"introduced":"7.77.0"},{"last_affected":"7.77.0"},{"introduced":"7.76.1"},{"last_affected":"7.76.1"},{"introduced":"7.76.0"},{"last_affected":"7.76.0"},{"introduced":"7.75.0"},{"last_affected":"7.75.0"},{"introduced":"7.74.0"},{"last_affected":"7.74.0"},{"introduced":"7.73.0"},{"last_affected":"7.73.0"},{"introduced":"7.72.0"},{"last_affected":"7.72.0"},{"introduced":"7.71.1"},{"last_affected":"7.71.1"},{"introduced":"7.71.0"},{"last_affected":"7.71.0"},{"introduced":"7.70.0"},{"last_affected":"7.70.0"},{"introduced":"7.69.1"},{"last_affected":"7.69.1"},{"introduced":"7.69.0"},{"last_affected":"7.69.0"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"curl","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/9xxx/CVE-2026-9547.json"},"references":[{"type":"WEB","url":"https://curl.se/docs/CVE-2026-9547.html"},{"type":"WEB","url":"https://curl.se/docs/CVE-2026-9547.json"},{"type":"WEB","url":"https://hackerone.com/reports/3751712"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/9xxx/CVE-2026-9547.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-9547"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/curl/curl","events":[{"introduced":"b8d1366852fd0034374c5de1e4968c7a224f77cc"},{"fixed":"68720b4837284335b2d63cb358f8f6ce65f5bc55"}],"database_specific":{"cpe":"cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"7.69.0"},{"fixed":"8.21.0"}],"source":"CPE_RANGE"}}],"versions":["rc-8_21_0-3","rc-8_21_0-2","rc-8_21_0-1","curl-8_20_0","rc-8_20_0-3","rc-8_20_0-2","rc-8_20_0-1","curl-8_19_0","curl-8_18_0","curl-8_17_0","curl-8_16_0","curl-8_15_0","curl-8_14_1","curl-8_14_0","curl-8_13_0","curl-8_12_1","curl-8_12_0","curl-8_11_1","curl-8_11_0","curl-8_10_1","curl-8_10_0","curl-8_9_1","curl-8_9_0","curl-8_8_0","curl-8_7_1","curl-8_7_0","curl-8_6_0","curl-8_5_0","curl-8_4_0","curl-8_3_0","curl-8_2_1","curl-8_2_0","curl-8_1_2","curl-8_1_1","curl-8_1_0","curl-8_0_1","curl-8_0_0","curl-7_88_1","curl-7_88_0","curl-7_87_0","curl-7_86_0","curl-7_85_0","curl-7_84_0","curl-7_83_1","curl-7_83_0","curl-7_82_0","curl-7_81_0","curl-7_80_0","curl-7_79_1","curl-7_79_0","curl-7_78_0","curl-7_77_0","curl-7_76_1","curl-7_76_0","curl-7_75_0","curl-7_74_0","curl-7_73_0","curl-7_72_0","curl-7_71_1","curl-7_71_0","curl-7_70_0","curl-7_69_1","curl-7_69_0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-9547.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}