{"id":"CVE-2026-12064","summary":"proto-default skips SSH verification","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.","aliases":["CURL-CVE-2026-12064"],"modified":"2026-09-18T11:45:29.298178706Z","published":"2026-07-03T06:13:55.302Z","related":["SUSE-SU-2026:22553-1","SUSE-SU-2026:22582-1","SUSE-SU-2026:22709-1","SUSE-SU-2026:22889-1","SUSE-SU-2026:2925-1","SUSE-SU-2026:2926-1","SUSE-SU-2026:3043-1","openSUSE-SU-2026:11230-1","openSUSE-SU-2026:21272-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/12xxx/CVE-2026-12064.json","unresolved_ranges":[{"extracted_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"},{"introduced":"18270893abdb19f0ca170c118f8a2847dbd304be"},{"fixed":"ab3bb8cd8be8f9d4acb97da0418abc279182041e"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"curl","cwe_ids":["CWE-297"]},"references":[{"type":"WEB","url":"https://curl.se/docs/CVE-2026-12064.html"},{"type":"WEB","url":"https://curl.se/docs/CVE-2026-12064.json"},{"type":"WEB","url":"https://hackerone.com/reports/3797526"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/12xxx/CVE-2026-12064.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12064"},{"type":"PACKAGE","url":"https://github.com/curl/curl.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/curl/curl","events":[{"introduced":"a05f34973e6c4bb629d018f7cb51487be1c904d8"},{"fixed":"68720b4837284335b2d63cb358f8f6ce65f5bc55"}],"database_specific":{"source":["AFFECTED_FIELD","CPE_RANGE"],"cpe":"cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*","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"},{"fixed":"8.21.0"}]}}],"versions":["7.81.0","7.82.0","7.83.0","7.83.1","7.84.0","7.85.0","7.86.0","7.87.0","7.88.0","7.88.1","8.0.0","8.0.1","8.1.0","8.1.1","8.1.2","8.10.0","8.10.1","8.11.0","8.11.1","8.12.0","8.12.1","8.13.0","8.14.0","8.14.1","8.15.0","8.16.0","8.17.0","8.18.0","8.19.0","8.2.0","8.2.1","8.20.0","8.3.0","8.4.0","8.5.0","8.6.0","8.7.0","8.7.1","8.8.0","8.9.0","8.9.1","rc-8_21_0-3","rc-8_21_0-2","rc-8_21_0-1","curl-8_20_0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-12064.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}]}