{"id":"CURL-CVE-2026-107928","summary":"info leak uploading over WebSockets with GnuTLS","details":"When curl is built with GnuTLS, a malicious WebSocket server can make curl\nsend memory past its send buffer. This is due to an out of bounds read\nfollowing when `gnutls_record_send()` returns a number of bytes sent **greater\nthan the number of bytes it was given to send**. GnuTLS does that after a\nblocked send.","aliases":["CVE-2026-107928"],"modified":"2026-10-14T07:04:24.080191647Z","published":"2026-10-14T08:00:00Z","database_specific":{"issue":"https://hackerone.com/reports/4099194","CWE":{"id":"CWE-126","desc":"Buffer Over-read"},"last_affected":"8.22.0","severity":"Low","package":"curl","affects":"both","URL":"https://curl.se/docs/CVE-2026-107928.json","www":"https://curl.se/docs/CVE-2026-107928.html"},"affected":[{"ranges":[{"type":"SEMVER","events":[{"introduced":"7.86.0"},{"fixed":"8.23.0"}]},{"type":"GIT","repo":"https://github.com/curl/curl.git","events":[{"introduced":"664249d095275ec532f55dd1752d80c8c1093a77"},{"fixed":"64fb3e7a7b116f690966054f281624152d4a7651"}]}],"versions":["8.22.0","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","rc-8_23_0-3","rc-8_23_0-2","rc-8_23_0-1","curl-8_22_0","rc-8_22_0-3","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"],"database_specific":{"vanir_signatures_modified":"2026-10-14T07:04:24Z","source":"https://curl.se/docs/CURL-CVE-2026-107928.json","vanir_signatures":[{"id":"CURL-CVE-2026-107928-29f91023","signature_type":"Function","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/64fb3e7a7b116f690966054f281624152d4a7651","target":{"function":"gtls_send","file":"lib/vtls/gtls.c"},"deprecated":false,"digest":{"function_hash":"17004293909367189618465785831238528729","length":877}},{"deprecated":false,"digest":{"line_hashes":["237152868269477282733457753401809078536","310007984379778202135485959311979072715","331851364076556933562923024774740634706","25065144459799342202251174170785250709","159052280036624249758923391343624644361","292029669852123213529518847703179921945"],"threshold":0.9},"id":"CURL-CVE-2026-107928-7be05e8d","signature_type":"Line","signature_version":"v1","source":"https://github.com/curl/curl.git/commit/64fb3e7a7b116f690966054f281624152d4a7651","target":{"file":"lib/vtls/gtls.c"}}]}}],"schema_version":"1.9.0","credits":[{"name":"Luna with Claude","type":"FINDER"},{"name":"Anthropic","type":"FINDER"},{"name":"Stefan Eissing","type":"REMEDIATION_DEVELOPER"}]}