{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-9547", "assignerOrgId": "2499f714-1537-4658-8207-48ae4bb9eae9", "state": "PUBLISHED", "assignerShortName": "curl", "dateReserved": "2026-05-26T06:45:27.665Z", "datePublished": "2026-07-03T06:18:44.499Z", "dateUpdated": "2026-09-15T06:03:34.802Z"}, "containers": {"cna": {"providerMetadata": {"orgId": "2499f714-1537-4658-8207-48ae4bb9eae9", "shortName": "curl", "dateUpdated": "2026-09-15T06:03:34.802Z"}, "title": "SSH improper host validation", "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."}], "affected": [{"vendor": "curl", "product": "curl", "versions": [{"version": "7.69.0", "status": "affected", "versionType": "semver", "lessThan": "8.14.2"}, {"version": "8.15.0", "status": "affected", "versionType": "semver", "lessThan": "8.16.1"}, {"version": "8.17.0", "status": "affected", "versionType": "semver", "lessThan": "8.20.1"}], "defaultStatus": "unaffected"}, {"vendor": "curl", "product": "curl", "versions": [{"version": "507cf6a13db0375eadd4655b4c64710db29e9cf2", "status": "affected", "versionType": "git", "lessThan": "0b8dbbc63c98777e4584cb9fbd71df3464008ad1"}], "defaultStatus": "unaffected", "repo": "https://github.com/curl/curl.git"}, {"vendor": "curl", "product": "curl", "versions": [{"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", "status": "affected"}], "defaultStatus": "unaffected"}], "references": [{"url": "https://curl.se/docs/CVE-2026-9547.json"}, {"url": "https://curl.se/docs/CVE-2026-9547.html"}, {"url": "https://hackerone.com/reports/3751712"}], "x_osv": {"schema_version": "1.5.0", "id": "CURL-CVE-2026-9547", "aliases": ["CVE-2026-9547"], "summary": "SSH improper host validation", "modified": "2026-09-07T10:34:51.00Z", "database_specific": {"package": "curl", "affects": "lib", "URL": "https://curl.se/docs/CVE-2026-9547.json", "www": "https://curl.se/docs/CVE-2026-9547.html", "issue": "https://hackerone.com/reports/3751712", "CWE": {"id": "CWE-297", "desc": "Improper Validation of Certificate with Host Mismatch"}, "last_affected": "8.20.0", "severity": "Low"}, "published": "2026-06-24T08:00:00.00Z", "affected": [{"ranges": [{"type": "SEMVER", "events": [{"introduced": "7.69.0"}, {"fixed": "8.14.2"}, {"introduced": "8.15.0"}, {"fixed": "8.16.1"}, {"introduced": "8.17.0"}, {"fixed": "8.20.1"}]}, {"type": "GIT", "repo": "https://github.com/curl/curl.git", "events": [{"introduced": "507cf6a13db0375eadd4655b4c64710db29e9cf2"}, {"fixed": "0b8dbbc63c98777e4584cb9fbd71df3464008ad1"}]}], "versions": ["8.20.0", "8.19.0", "8.18.0", "8.17.0", "8.16.0", "8.15.0", "8.14.1", "8.14.0", "8.13.0", "8.12.1", "8.12.0", "8.11.1", "8.11.0", "8.10.1", "8.10.0", "8.9.1", "8.9.0", "8.8.0", "8.7.1", "8.7.0", "8.6.0", "8.5.0", "8.4.0", "8.3.0", "8.2.1", "8.2.0", "8.1.2", "8.1.1", "8.1.0", "8.0.1", "8.0.0", "7.88.1", "7.88.0", "7.87.0", "7.86.0", "7.85.0", "7.84.0", "7.83.1", "7.83.0", "7.82.0", "7.81.0", "7.80.0", "7.79.1", "7.79.0", "7.78.0", "7.77.0", "7.76.1", "7.76.0", "7.75.0", "7.74.0", "7.73.0", "7.72.0", "7.71.1", "7.71.0", "7.70.0", "7.69.1", "7.69.0"]}], "credits": [{"name": "Joshua Rogers (Aisle Research)", "type": "finder"}, {"name": "Joshua Rogers (Aisle Research)", "type": "remediation developer"}], "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."}, "problemTypes": [{"descriptions": [{"lang": "en", "description": "Improper Validation of Certificate with Host Mismatch", "cweId": "CWE-297", "type": "CWE"}]}], "credits": [{"lang": "en", "value": "Joshua Rogers (Aisle Research)", "type": "finder"}, {"lang": "en", "value": "Joshua Rogers (Aisle Research)", "type": "remediation developer"}], "x_generator": {"engine": "cvelib 1.8.0"}}, "adp": [{"references": [{"url": "https://hackerone.com/reports/3751712", "tags": ["exploit"]}], "metrics": [{"cvssV3_1": {"scope": "UNCHANGED", "version": "3.1", "baseScore": 7.4, "attackVector": "NETWORK", "baseSeverity": "HIGH", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "integrityImpact": "HIGH", "userInteraction": "NONE", "attackComplexity": "HIGH", "availabilityImpact": "NONE", "privilegesRequired": "NONE", "confidentialityImpact": "HIGH"}}, {"other": {"type": "ssvc", "content": {"timestamp": "2026-07-06T16:47:32.456534Z", "id": "CVE-2026-9547", "options": [{"Exploitation": "poc"}, {"Automatable": "no"}, {"Technical Impact": "total"}], "role": "CISA Coordinator", "version": "2.0.3"}}}], "title": "CISA ADP Vulnrichment", "providerMetadata": {"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-07-06T16:48:14.469Z"}}]}}