{"cvss":7.4,"datePublished":"2026-07-03T07:16:25.990","dateUpdated":"2026-09-15T07:16:35.310","description":"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.","id":"CVE-2026-9547","raw":{"affected":[{"affectedData":[{"defaultStatus":"unaffected","product":"curl","vendor":"curl","versions":[{"lessThan":"8.14.2","status":"affected","version":"7.69.0","versionType":"semver"},{"lessThan":"8.16.1","status":"affected","version":"8.15.0","versionType":"semver"},{"lessThan":"8.20.1","status":"affected","version":"8.17.0","versionType":"semver"}]},{"defaultStatus":"unaffected","product":"curl","repo":"https://github.com/curl/curl.git","vendor":"curl","versions":[{"lessThan":"0b8dbbc63c98777e4584cb9fbd71df3464008ad1","status":"affected","version":"507cf6a13db0375eadd4655b4c64710db29e9cf2","versionType":"git"}]},{"defaultStatus":"unaffected","product":"curl","vendor":"curl","versions":[{"status":"affected","version":"8.20.0"},{"status":"affected","version":"8.19.0"},{"status":"affected","version":"8.18.0"},{"status":"affected","version":"8.17.0"},{"status":"affected","version":"8.16.0"},{"status":"affected","version":"8.15.0"},{"status":"affected","version":"8.14.1"},{"status":"affected","version":"8.14.0"},{"status":"affected","version":"8.13.0"},{"status":"affected","version":"8.12.1"},{"status":"affected","version":"8.12.0"},{"status":"affected","version":"8.11.1"},{"status":"affected","version":"8.11.0"},{"status":"affected","version":"8.10.1"},{"status":"affected","version":"8.10.0"},{"status":"affected","version":"8.9.1"},{"status":"affected","version":"8.9.0"},{"status":"affected","version":"8.8.0"},{"status":"affected","version":"8.7.1"},{"status":"affected","version":"8.7.0"},{"status":"affected","version":"8.6.0"},{"status":"affected","version":"8.5.0"},{"status":"affected","version":"8.4.0"},{"status":"affected","version":"8.3.0"},{"status":"affected","version":"8.2.1"},{"status":"affected","version":"8.2.0"},{"status":"affected","version":"8.1.2"},{"status":"affected","version":"8.1.1"},{"status":"affected","version":"8.1.0"},{"status":"affected","version":"8.0.1"},{"status":"affected","version":"8.0.0"},{"status":"affected","version":"7.88.1"},{"status":"affected","version":"7.88.0"},{"status":"affected","version":"7.87.0"},{"status":"affected","version":"7.86.0"},{"status":"affected","version":"7.85.0"},{"status":"affected","version":"7.84.0"},{"status":"affected","version":"7.83.1"},{"status":"affected","version":"7.83.0"},{"status":"affected","version":"7.82.0"},{"status":"affected","version":"7.81.0"},{"status":"affected","version":"7.80.0"},{"status":"affected","version":"7.79.1"},{"status":"affected","version":"7.79.0"},{"status":"affected","version":"7.78.0"},{"status":"affected","version":"7.77.0"},{"status":"affected","version":"7.76.1"},{"status":"affected","version":"7.76.0"},{"status":"affected","version":"7.75.0"},{"status":"affected","version":"7.74.0"},{"status":"affected","version":"7.73.0"},{"status":"affected","version":"7.72.0"},{"status":"affected","version":"7.71.1"},{"status":"affected","version":"7.71.0"},{"status":"affected","version":"7.70.0"},{"status":"affected","version":"7.69.1"},{"status":"affected","version":"7.69.0"}]}],"source":"2499f714-1537-4658-8207-48ae4bb9eae9"}],"configurations":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*","matchCriteriaId":"384FD0B4-826D-4A6C-9F78-BC25B9039011","versionEndExcluding":"8.21.0","versionStartIncluding":"7.69.0","vulnerable":true}],"negate":false,"operator":"OR"}]}],"cveTags":[],"descriptions":[{"lang":"en","value":"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."}],"id":"CVE-2026-9547","lastModified":"2026-09-15T07:16:35.310","metrics":{"cvssMetricV31":[{"cvssData":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.4,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"exploitabilityScore":2.2,"impactScore":5.2,"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary"}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"id":"CVE-2026-9547","options":[{"exploitation":"poc"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","timestamp":"2026-07-06T16:47:32.456534Z","version":"2.0.3"}}]},"published":"2026-07-03T07:16:25.990","references":[{"source":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":["Patch","Vendor Advisory"],"url":"https://curl.se/docs/CVE-2026-9547.html"},{"source":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":["Vendor Advisory"],"url":"https://curl.se/docs/CVE-2026-9547.json"},{"source":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":["Exploit","Issue Tracking","Third Party Advisory"],"url":"https://hackerone.com/reports/3751712"},{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["Exploit","Issue Tracking","Third Party Advisory"],"url":"https://hackerone.com/reports/3751712"}],"sourceIdentifier":"2499f714-1537-4658-8207-48ae4bb9eae9","vulnStatus":"Modified","weaknesses":[{"description":[{"lang":"en","value":"CWE-297"}],"source":"2499f714-1537-4658-8207-48ae4bb9eae9","type":"Secondary"},{"description":[{"lang":"en","value":"NVD-CWE-Other"}],"source":"nvd@nist.gov","type":"Primary"}]},"severity":"HIGH","source":"nvd","title":"When a libcurl-based application performs transfers via `SCP://` or `SFTP://`\nand utilizes the `CURLOPT_SSH_KEYFUNCTI..."}