{"api_version":"1","generated_at":"2026-07-03T18:06:10+00:00","cve":"CVE-2026-9547","urls":{"html":"https://cve.report/CVE-2026-9547","api":"https://cve.report/api/cve/CVE-2026-9547.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-9547","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-9547"},"summary":{"title":"SSH improper host validation","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.","state":"PUBLISHED","assigner":"curl","published_at":"2026-07-03 07:16:25","updated_at":"2026-07-03 07:16:25"},"problem_types":["CWE-297 Improper Validation of Certificate with Host Mismatch"],"metrics":[],"references":[{"url":"https://curl.se/docs/CVE-2026-9547.json","name":"https://curl.se/docs/CVE-2026-9547.json","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://curl.se/docs/CVE-2026-9547.html","name":"https://curl.se/docs/CVE-2026-9547.html","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://hackerone.com/reports/3751712","name":"https://hackerone.com/reports/3751712","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-9547","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-9547","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.20.0 8.20.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.19.0 8.19.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.18.0 8.18.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.17.0 8.17.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.16.0 8.16.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.15.0 8.15.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.14.1 8.14.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.14.0 8.14.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.13.0 8.13.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.12.1 8.12.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.12.0 8.12.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.11.1 8.11.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.11.0 8.11.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.10.1 8.10.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.10.0 8.10.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.9.1 8.9.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.9.0 8.9.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.8.0 8.8.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.7.1 8.7.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.7.0 8.7.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.6.0 8.6.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.5.0 8.5.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.4.0 8.4.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.3.0 8.3.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.2.1 8.2.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.2.0 8.2.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.1.2 8.1.2 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.1.1 8.1.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.1.0 8.1.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.0.1 8.0.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 8.0.0 8.0.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.88.1 7.88.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.88.0 7.88.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.87.0 7.87.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.86.0 7.86.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.85.0 7.85.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.84.0 7.84.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.83.1 7.83.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.83.0 7.83.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.82.0 7.82.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.81.0 7.81.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.80.0 7.80.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.79.1 7.79.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.79.0 7.79.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.78.0 7.78.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.77.0 7.77.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.76.1 7.76.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.76.0 7.76.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.75.0 7.75.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.74.0 7.74.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.73.0 7.73.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.72.0 7.72.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.71.1 7.71.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.71.0 7.71.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.70.0 7.70.0 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.69.1 7.69.1 semver","platforms":[]},{"source":"CNA","vendor":"curl","product":"curl","version":"affected 7.69.0 7.69.0 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Joshua Rogers (Aisle Research)","lang":"en"},{"source":"CNA","value":"Joshua Rogers (Aisle Research)","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"curl","vendor":"curl","versions":[{"lessThanOrEqual":"8.20.0","status":"affected","version":"8.20.0","versionType":"semver"},{"lessThanOrEqual":"8.19.0","status":"affected","version":"8.19.0","versionType":"semver"},{"lessThanOrEqual":"8.18.0","status":"affected","version":"8.18.0","versionType":"semver"},{"lessThanOrEqual":"8.17.0","status":"affected","version":"8.17.0","versionType":"semver"},{"lessThanOrEqual":"8.16.0","status":"affected","version":"8.16.0","versionType":"semver"},{"lessThanOrEqual":"8.15.0","status":"affected","version":"8.15.0","versionType":"semver"},{"lessThanOrEqual":"8.14.1","status":"affected","version":"8.14.1","versionType":"semver"},{"lessThanOrEqual":"8.14.0","status":"affected","version":"8.14.0","versionType":"semver"},{"lessThanOrEqual":"8.13.0","status":"affected","version":"8.13.0","versionType":"semver"},{"lessThanOrEqual":"8.12.1","status":"affected","version":"8.12.1","versionType":"semver"},{"lessThanOrEqual":"8.12.0","status":"affected","version":"8.12.0","versionType":"semver"},{"lessThanOrEqual":"8.11.1","status":"affected","version":"8.11.1","versionType":"semver"},{"lessThanOrEqual":"8.11.0","status":"affected","version":"8.11.0","versionType":"semver"},{"lessThanOrEqual":"8.10.1","status":"affected","version":"8.10.1","versionType":"semver"},{"lessThanOrEqual":"8.10.0","status":"affected","version":"8.10.0","versionType":"semver"},{"lessThanOrEqual":"8.9.1","status":"affected","version":"8.9.1","versionType":"semver"},{"lessThanOrEqual":"8.9.0","status":"affected","version":"8.9.0","versionType":"semver"},{"lessThanOrEqual":"8.8.0","status":"affected","version":"8.8.0","versionType":"semver"},{"lessThanOrEqual":"8.7.1","status":"affected","version":"8.7.1","versionType":"semver"},{"lessThanOrEqual":"8.7.0","status":"affected","version":"8.7.0","versionType":"semver"},{"lessThanOrEqual":"8.6.0","status":"affected","version":"8.6.0","versionType":"semver"},{"lessThanOrEqual":"8.5.0","status":"affected","version":"8.5.0","versionType":"semver"},{"lessThanOrEqual":"8.4.0","status":"affected","version":"8.4.0","versionType":"semver"},{"lessThanOrEqual":"8.3.0","status":"affected","version":"8.3.0","versionType":"semver"},{"lessThanOrEqual":"8.2.1","status":"affected","version":"8.2.1","versionType":"semver"},{"lessThanOrEqual":"8.2.0","status":"affected","version":"8.2.0","versionType":"semver"},{"lessThanOrEqual":"8.1.2","status":"affected","version":"8.1.2","versionType":"semver"},{"lessThanOrEqual":"8.1.1","status":"affected","version":"8.1.1","versionType":"semver"},{"lessThanOrEqual":"8.1.0","status":"affected","version":"8.1.0","versionType":"semver"},{"lessThanOrEqual":"8.0.1","status":"affected","version":"8.0.1","versionType":"semver"},{"lessThanOrEqual":"8.0.0","status":"affected","version":"8.0.0","versionType":"semver"},{"lessThanOrEqual":"7.88.1","status":"affected","version":"7.88.1","versionType":"semver"},{"lessThanOrEqual":"7.88.0","status":"affected","version":"7.88.0","versionType":"semver"},{"lessThanOrEqual":"7.87.0","status":"affected","version":"7.87.0","versionType":"semver"},{"lessThanOrEqual":"7.86.0","status":"affected","version":"7.86.0","versionType":"semver"},{"lessThanOrEqual":"7.85.0","status":"affected","version":"7.85.0","versionType":"semver"},{"lessThanOrEqual":"7.84.0","status":"affected","version":"7.84.0","versionType":"semver"},{"lessThanOrEqual":"7.83.1","status":"affected","version":"7.83.1","versionType":"semver"},{"lessThanOrEqual":"7.83.0","status":"affected","version":"7.83.0","versionType":"semver"},{"lessThanOrEqual":"7.82.0","status":"affected","version":"7.82.0","versionType":"semver"},{"lessThanOrEqual":"7.81.0","status":"affected","version":"7.81.0","versionType":"semver"},{"lessThanOrEqual":"7.80.0","status":"affected","version":"7.80.0","versionType":"semver"},{"lessThanOrEqual":"7.79.1","status":"affected","version":"7.79.1","versionType":"semver"},{"lessThanOrEqual":"7.79.0","status":"affected","version":"7.79.0","versionType":"semver"},{"lessThanOrEqual":"7.78.0","status":"affected","version":"7.78.0","versionType":"semver"},{"lessThanOrEqual":"7.77.0","status":"affected","version":"7.77.0","versionType":"semver"},{"lessThanOrEqual":"7.76.1","status":"affected","version":"7.76.1","versionType":"semver"},{"lessThanOrEqual":"7.76.0","status":"affected","version":"7.76.0","versionType":"semver"},{"lessThanOrEqual":"7.75.0","status":"affected","version":"7.75.0","versionType":"semver"},{"lessThanOrEqual":"7.74.0","status":"affected","version":"7.74.0","versionType":"semver"},{"lessThanOrEqual":"7.73.0","status":"affected","version":"7.73.0","versionType":"semver"},{"lessThanOrEqual":"7.72.0","status":"affected","version":"7.72.0","versionType":"semver"},{"lessThanOrEqual":"7.71.1","status":"affected","version":"7.71.1","versionType":"semver"},{"lessThanOrEqual":"7.71.0","status":"affected","version":"7.71.0","versionType":"semver"},{"lessThanOrEqual":"7.70.0","status":"affected","version":"7.70.0","versionType":"semver"},{"lessThanOrEqual":"7.69.1","status":"affected","version":"7.69.1","versionType":"semver"},{"lessThanOrEqual":"7.69.0","status":"affected","version":"7.69.0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Joshua Rogers (Aisle Research)"},{"lang":"en","type":"remediation developer","value":"Joshua Rogers (Aisle Research)"}],"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."}],"problemTypes":[{"descriptions":[{"description":"CWE-297 Improper Validation of Certificate with Host Mismatch","lang":"en"}]}],"providerMetadata":{"dateUpdated":"2026-07-03T06:18:44.499Z","orgId":"2499f714-1537-4658-8207-48ae4bb9eae9","shortName":"curl"},"references":[{"name":"json","url":"https://curl.se/docs/CVE-2026-9547.json"},{"name":"www","url":"https://curl.se/docs/CVE-2026-9547.html"},{"name":"issue","url":"https://hackerone.com/reports/3751712"}],"title":"SSH improper host validation"}},"cveMetadata":{"assignerOrgId":"2499f714-1537-4658-8207-48ae4bb9eae9","assignerShortName":"curl","cveId":"CVE-2026-9547","datePublished":"2026-07-03T06:18:44.499Z","dateReserved":"2026-05-26T06:45:27.665Z","dateUpdated":"2026-07-03T06:18:44.499Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-03 07:16:25","lastModifiedDate":"2026-07-03 07:16:25","problem_types":["CWE-297 Improper Validation of Certificate with Host Mismatch"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"9547","Ordinal":"1","Title":"SSH improper host validation","CVE":"CVE-2026-9547","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"9547","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"SSH improper host validation"}]}}}