{"api_version":"1","generated_at":"2026-07-03T18:06:55+00:00","cve":"CVE-2026-12064","urls":{"html":"https://cve.report/CVE-2026-12064","api":"https://cve.report/api/cve/CVE-2026-12064.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-12064","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-12064"},"summary":{"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.","state":"PUBLISHED","assigner":"curl","published_at":"2026-07-03 07:16:24","updated_at":"2026-07-03 07:16:24"},"problem_types":["CWE-297 Improper Validation of Certificate with Host Mismatch"],"metrics":[],"references":[{"url":"https://hackerone.com/reports/3797526","name":"https://hackerone.com/reports/3797526","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://curl.se/docs/CVE-2026-12064.html","name":"https://curl.se/docs/CVE-2026-12064.html","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://curl.se/docs/CVE-2026-12064.json","name":"https://curl.se/docs/CVE-2026-12064.json","refsource":"2499f714-1537-4658-8207-48ae4bb9eae9","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-12064","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12064","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":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"alienowo on hackerone (AntAISecurityLab)","lang":"en"},{"source":"CNA","value":"Daniel Stenberg","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"}]}],"credits":[{"lang":"en","type":"finder","value":"alienowo on hackerone (AntAISecurityLab)"},{"lang":"en","type":"remediation developer","value":"Daniel Stenberg"}],"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."}],"problemTypes":[{"descriptions":[{"description":"CWE-297 Improper Validation of Certificate with Host Mismatch","lang":"en"}]}],"providerMetadata":{"dateUpdated":"2026-07-03T06:13:55.302Z","orgId":"2499f714-1537-4658-8207-48ae4bb9eae9","shortName":"curl"},"references":[{"name":"json","url":"https://curl.se/docs/CVE-2026-12064.json"},{"name":"www","url":"https://curl.se/docs/CVE-2026-12064.html"},{"name":"issue","url":"https://hackerone.com/reports/3797526"}],"title":"proto-default skips SSH verification"}},"cveMetadata":{"assignerOrgId":"2499f714-1537-4658-8207-48ae4bb9eae9","assignerShortName":"curl","cveId":"CVE-2026-12064","datePublished":"2026-07-03T06:13:55.302Z","dateReserved":"2026-06-12T07:23:29.455Z","dateUpdated":"2026-07-03T06:13:55.302Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-03 07:16:24","lastModifiedDate":"2026-07-03 07:16:24","problem_types":["CWE-297 Improper Validation of Certificate with Host Mismatch"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"12064","Ordinal":"1","Title":"proto-default skips SSH verification","CVE":"CVE-2026-12064","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"12064","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"proto-default skips SSH verification"}]}}}