{"id":"CURL-CVE-2026-80230","summary":"OpenSSL pinning bypass","details":"When `CURLOPT_PINNEDPUBLICKEY` is configured alongside options that disable\nstandard peer verification (`CURLOPT_SSL_VERIFYPEER = 0` and\n`CURLOPT_SSL_VERIFYHOST = 0`), libcurl fails to enforce public key pinning on\nconnections established without a presented server certificate. Bypassing the\npinning check under these disabled-verification conditions allows\nunauthenticated connections to succeed when they should be rejected.","aliases":["CVE-2026-80230"],"modified":"2026-09-02T08:04:19.195920Z","published":"2026-09-02T08:00:00Z","database_specific":{"URL":"https://curl.se/docs/CVE-2026-80230.json","affects":"both","issue":"https://hackerone.com/reports/3969300","last_affected":"8.21.0","package":"curl","severity":"Low","www":"https://curl.se/docs/CVE-2026-80230.html","CWE":{"desc":"Improper Certificate Validation","id":"CWE-295"}},"affected":[{"ranges":[{"type":"SEMVER","events":[{"introduced":"7.45.0"},{"fixed":"8.22.0"}]},{"type":"GIT","repo":"https://github.com/curl/curl.git","events":[{"introduced":"8363656cb4e0c60a11d8531ead0ec43120b50591"},{"fixed":"5267ed859d545534d0c21675a2b70af5a3b6e3ef"}]}],"versions":["8.21.0","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","7.68.0","7.67.0","7.66.0","7.65.3","7.65.2","7.65.1","7.65.0","7.64.1","7.64.0","7.63.0","7.62.0","7.61.1","7.61.0","7.60.0","7.59.0","7.58.0","7.57.0","7.56.1","7.56.0","7.55.1","7.55.0","7.54.1","7.54.0","7.53.1","7.53.0","7.52.1","7.52.0","7.51.0","7.50.3","7.50.2","7.50.1","7.50.0","7.49.1","7.49.0","7.48.0","7.47.1","7.47.0","7.46.0","7.45.0","rc-8_22_0-2","rc-8_22_0-1","curl-8_21_0","rc-8_21_0-3","rc-8_21_0-2","rc-8_21_0-1","curl-8_20_0","rc-8_20_0-3","rc-8_20_0-2","rc-8_20_0-1","curl-8_19_0","rc-8_19_0-3","rc-8_19_0-2","rc-8_19_0-1","curl-8_18_0","rc-8_18_0-3","rc-8_18_0-2","rc-8_18_0-1","curl-8_17_0","curl-8_16_0","curl-8_15_0","curl-8_14_1","curl-8_14_0","curl-8_13_0","curl-8_12_1","curl-8_12_0","curl-8_11_1","curl-8_11_0","curl-8_10_1","curl-8_10_0","curl-8_9_1","curl-8_9_0","curl-8_8_0","curl-8_7_1","curl-8_7_0","curl-8_6_0","curl-8_5_0","tiny-curl-8_4_0","curl-8_4_0","curl-8_3_0","curl-8_2_1","curl-8_2_0","curl-8_1_2","curl-8_1_1","curl-8_1_0","curl-8_0_1","curl-8_0_0","curl-7_88_1","curl-7_88_0","curl-7_87_0","curl-7_86_0","curl-7_85_0","curl-7_84_0","curl-7_83_1","curl-7_83_0","curl-7_82_0","curl-7_81_0","curl-7_80_0","curl-7_79_1","curl-7_79_0","curl-7_78_0","curl-7_77_0","curl-7_76_1","curl-7_76_0","curl-7_75_0","curl-7_74_0","curl-7_73_0","tiny-curl-7_72_0","curl-7_72_0","curl-7_71_1","curl-7_71_0","curl-7_70_0","curl-7_69_1","curl-7_69_0","curl-7_68_0","curl-7_67_0","curl-7_66_0","curl-7_65_3","curl-7_65_2","curl-7_65_1","curl-7_65_0","curl-7_64_1","curl-7_64_0","curl-7_63_0","curl-7_62_0","curl-7_61_1","curl-7_61_0","curl-7_60_0","curl-7_59_0","curl-7_58_0","curl-7_57_0","curl-7_56_1","curl-7_56_0","curl-7_55_1","curl-7_55_0","curl-7_54_1","curl-7_54_0","curl-7_53_1","curl-7_53_0","curl-7_52_1","curl-7_52_0","curl-7_51_0","curl-7_50_3","curl-7_50_2","curl-7_50_1","curl-7_50_0","curl-7_49_1","curl-7_49_0","curl-7_48_0","curl-7_47_1","curl-7_47_0","curl-7_46_0","curl-7_45_0"],"database_specific":{"source":"https://curl.se/docs/CURL-CVE-2026-80230.json","vanir_signatures_modified":"2026-09-02T08:04:19Z","vanir_signatures":[{"deprecated":false,"digest":{"length":522,"function_hash":"59711015111561007376559662147330300923"},"id":"CURL-CVE-2026-80230-79f53dda","signature_type":"Function","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/5267ed859d545534d0c21675a2b70af5a3b6e3ef","target":{"file":"lib/vtls/openssl.c","function":"ossl_check_pinned_key"}},{"digest":{"function_hash":"256683512196437107931409015117060498091","length":2107},"id":"CURL-CVE-2026-80230-ad780326","signature_type":"Function","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/5267ed859d545534d0c21675a2b70af5a3b6e3ef","target":{"function":"Curl_ossl_check_peer_cert","file":"lib/vtls/openssl.c"},"deprecated":false},{"deprecated":false,"digest":{"line_hashes":["49563021893337059605703251235638330843","324798044003778383864472119388043951039","311053671277913024156762171163476286297","119299673179215613834310336015409348691","80916288414829268825259364399841923600","78085851437628322194605549345531817034","284723072647471505361865678481335157879","201077949281956236308957163780324116368","145680700552271617308122907400671035681","197326543713245267963595584185294466650","220056411475995624894224918027396996170","28939344862711657290124321731520319204","167747011872137270840813567500590923804","37843517823286303023288024431495706186","189562132333388244170583115852773416760","95298657632096531209163128418938768689","285780586512719314547133130382308099133","18296044035188967116527513496860664021","29969911935309838772381914640574624838","84460740816877948810142141634677343405","201770671256611669492015409474087980899"],"threshold":0.9},"id":"CURL-CVE-2026-80230-c63840ad","signature_type":"Line","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/5267ed859d545534d0c21675a2b70af5a3b6e3ef","target":{"file":"lib/vtls/openssl.c"}}]}}],"schema_version":"1.9.0","credits":[{"name":"Stanislav Fort (Aisle Research)","type":"FINDER"},{"name":"Daniel Stenberg","type":"REMEDIATION_DEVELOPER"}]}