{"id":"CVE-2026-12064","state":"PUBLISHED","title":"proto-default skips SSH verification","description":"When a user invokes curl using a schemeless URL combined with\n`--proto-default` sftp (or scp), a disconnect occurs between the tool layer\nand libcurl. The tool layer incorrectly infers the URL scheme, which\nerroneously bypasses the initialization of critical SSH security options like\nCURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 and CURLOPT_SSH_KNOWNHOSTS. Conversely, the\nlibcurl runtime successfully honors CURLOPT_DEFAULT_PROTOCOL and establishes\nthe connection via SFTP/SCP as specified. Because the tool layer skipped the\nsecurity configuration, these SSH host verification options are silently\nomitted, causing curl to connect to an unverified SSH remote host without\nthrowing an error.","publishedAt":"2026-07-03T06:13:55.302Z","updatedAt":"2026-09-15T06:02:44.283Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","source":"CISA-ADP"},"assigner":"curl","products":["curl curl"],"affected":[{"vendor":"curl","product":"curl","defaultStatus":"unaffected","versions":[{"version":"7.81.0","status":"affected","lessThan":"8.14.2","versionType":"semver"},{"version":"8.15.0","status":"affected","lessThan":"8.16.1","versionType":"semver"},{"version":"8.17.0","status":"affected","lessThan":"8.20.1","versionType":"semver"}]},{"vendor":"curl","product":"curl","defaultStatus":"unaffected","versions":[{"version":"18270893abdb19f0ca170c118f8a2847dbd304be","status":"affected","lessThan":"ab3bb8cd8be8f9d4acb97da0418abc279182041e","versionType":"git"}],"repo":"https://github.com/curl/curl.git"},{"vendor":"curl","product":"curl","defaultStatus":"unaffected","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"}]}],"references":["https://curl.se/docs/CVE-2026-12064.json","https://curl.se/docs/CVE-2026-12064.html","https://hackerone.com/reports/3797526"],"weaknesses":["CWE-297"],"ingestedAt":"2026-10-29T20:10:52.580Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/12xxx/CVE-2026-12064.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-12064","state":"PUBLISHED","datePublished":"2026-07-03T06:13:55.302Z","dateUpdated":"2026-09-15T06:02:44.283Z","assignerShortName":"curl","assignerOrgId":"2499f714-1537-4658-8207-48ae4bb9eae9","dateReserved":"2026-06-12T07:23:29.455Z"},"containers":{"cna":{"title":"proto-default skips SSH verification","descriptions":[{"lang":"en","value":"When a user invokes curl using a schemeless URL combined with\n`--proto-default` sftp (or scp), a disconnect occurs between the tool layer\nand libcurl. The tool layer incorrectly infers the URL scheme, which\nerroneously bypasses the initialization of critical SSH security options like\nCURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 and CURLOPT_SSH_KNOWNHOSTS. Conversely, the\nlibcurl runtime successfully honors CURLOPT_DEFAULT_PROTOCOL and establishes\nthe connection via SFTP/SCP as specified. Because the tool layer skipped the\nsecurity configuration, these SSH host verification options are silently\nomitted, causing curl to connect to an unverified SSH remote host without\nthrowing an error."}],"affected":[{"vendor":"curl","product":"curl","defaultStatus":"unaffected","versions":[{"version":"7.81.0","status":"affected","lessThan":"8.14.2","versionType":"semver"},{"version":"8.15.0","status":"affected","lessThan":"8.16.1","versionType":"semver"},{"version":"8.17.0","status":"affected","lessThan":"8.20.1","versionType":"semver"}]},{"vendor":"curl","product":"curl","defaultStatus":"unaffected","versions":[{"version":"18270893abdb19f0ca170c118f8a2847dbd304be","status":"affected","lessThan":"ab3bb8cd8be8f9d4acb97da0418abc279182041e","versionType":"git"}],"repo":"https://github.com/curl/curl.git"},{"vendor":"curl","product":"curl","defaultStatus":"unaffected","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"}]}],"references":[{"url":"https://curl.se/docs/CVE-2026-12064.json"},{"url":"https://curl.se/docs/CVE-2026-12064.html"},{"url":"https://hackerone.com/reports/3797526"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-297","lang":"en","description":"Improper Validation of Certificate with Host Mismatch","type":"CWE"}]}],"providerMetadata":{"shortName":"curl","orgId":"2499f714-1537-4658-8207-48ae4bb9eae9","dateUpdated":"2026-09-15T06:02:44.283Z"},"x_osv":{"schema_version":"1.5.0","id":"CURL-CVE-2026-12064","aliases":["CVE-2026-12064"],"summary":"proto-default skips SSH verification","modified":"2026-09-07T10:34:51.00Z","database_specific":{"package":"curl","affects":"tool","URL":"https://curl.se/docs/CVE-2026-12064.json","www":"https://curl.se/docs/CVE-2026-12064.html","issue":"https://hackerone.com/reports/3797526","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.81.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":"18270893abdb19f0ca170c118f8a2847dbd304be"},{"fixed":"ab3bb8cd8be8f9d4acb97da0418abc279182041e"}]}],"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"]}],"credits":[{"name":"alienowo on hackerone (AntAISecurityLab)","type":"finder"},{"name":"Daniel Stenberg","type":"remediation developer"}],"details":"When a user invokes curl using a schemeless URL combined with\n`--proto-default` sftp (or scp), a disconnect occurs between the tool layer\nand libcurl. The tool layer incorrectly infers the URL scheme, which\nerroneously bypasses the initialization of critical SSH security options like\nCURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 and CURLOPT_SSH_KNOWNHOSTS. Conversely, the\nlibcurl runtime successfully honors CURLOPT_DEFAULT_PROTOCOL and establishes\nthe connection via SFTP/SCP as specified. Because the tool layer skipped the\nsecurity configuration, these SSH host verification options are silently\nomitted, causing curl to connect to an unverified SSH remote host without\nthrowing an error."},"credits":[{"lang":"en","value":"alienowo on hackerone (AntAISecurityLab)","type":"finder"},{"lang":"en","value":"Daniel Stenberg","type":"remediation developer"}],"x_generator":{"engine":"cvelib 1.8.0"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://hackerone.com/reports/3797526","tags":["exploit"]}],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.5,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-07-06T18:19:34.951461Z","id":"CVE-2026-12064","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-06T18:21:00.665Z"}}]}}}