{"id":"CVE-2026-45541","summary":"ESF-IDF: Remote Null Pointer Dereference in WebSocket Server","details":"ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. In versions 5.2.6, 5.3.5, 5.4.4, 5.5.4, and 6.0, a NULL-pointer dereference exists in the WebSocket subprotocol-negotiation path of the esp_http_server component. While parsing the client-supplied Sec-WebSocket-Protocol request header during the WebSocket handshake, the tokenisation result is dereferenced without a NULL check, so a malformed header value can crash the server before any application-level authentication runs. This issue has been patched in versions 5.2.7, 5.3.6, 5.4.5, 5.5.5, and 6.0.1.","aliases":["GHSA-3j8v-xgrq-5vg8"],"modified":"2026-08-12T16:24:39.164562Z","published":"2026-06-10T00:25:59.233Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-476"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45541.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45541.json"},{"type":"ADVISORY","url":"https://github.com/espressif/esp-idf/security/advisories/GHSA-3j8v-xgrq-5vg8"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45541"},{"type":"FIX","url":"https://github.com/espressif/esp-idf/commit/00a2f7fbbbd8fe6d04729022e1d5c9a49435bfe8"},{"type":"FIX","url":"https://github.com/espressif/esp-idf/commit/0dc4ee7537f3b12350f5966cecacd59bba840ec6"},{"type":"FIX","url":"https://github.com/espressif/esp-idf/commit/37508ab91124ef426a7396d30f79eba1162700c7"},{"type":"FIX","url":"https://github.com/espressif/esp-idf/commit/9fc0ca13b3b85b98d32b98cd9dc8ff9d82642b7b"},{"type":"FIX","url":"https://github.com/espressif/esp-idf/commit/dc46dc51359749e50617eb70d6f9ae298adc4fff"},{"type":"FIX","url":"https://github.com/espressif/esp-idf/commit/f88a47e4f37fb11ae4b0908cd5c80059d83198c6"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/espressif/esp-idf","events":[{"introduced":"9ef24e3e2a2c96e720d83c574a3f8699177573da"},{"fixed":"00a2f7fbbbd8fe6d04729022e1d5c9a49435bfe8"},{"fixed":"0dc4ee7537f3b12350f5966cecacd59bba840ec6"},{"fixed":"37508ab91124ef426a7396d30f79eba1162700c7"},{"fixed":"9fc0ca13b3b85b98d32b98cd9dc8ff9d82642b7b"},{"fixed":"dc46dc51359749e50617eb70d6f9ae298adc4fff"},{"fixed":"f88a47e4f37fb11ae4b0908cd5c80059d83198c6"}],"database_specific":{"cpe":["cpe:2.3:a:espressif:esp-idf:5.2.6:*:*:*:*:*:*:*","cpe:2.3:a:espressif:esp-idf:5.3.5:*:*:*:*:*:*:*","cpe:2.3:a:espressif:esp-idf:5.4.4:*:*:*:*:*:*:*","cpe:2.3:a:espressif:esp-idf:5.5.4:*:*:*:*:*:*:*","cpe:2.3:a:espressif:esp-idf:6.0:*:*:*:*:*:*:*"],"extracted_events":[{"introduced":"5.2.6"},{"last_affected":"5.2.6"},{"introduced":"5.3.5"},{"last_affected":"5.3.5"},{"introduced":"5.4.4"},{"last_affected":"5.4.4"},{"introduced":"5.5.4"},{"last_affected":"5.5.4"},{"introduced":"6.0"},{"last_affected":"6.0"}],"source":["CPE_STRING","REFERENCES"]}}],"versions":["5.2.6","5.3.5","5.4.4","5.5.4","6.0","= 5.2.6","= 5.3.5","= 5.4.4","= 5.5.4","= 6.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45541.json","vanir_signatures_modified":"2026-08-12T16:24:39Z","vanir_signatures":[{"deprecated":false,"digest":{"line_hashes":["68374993837791663302295921114802798207","158035011678057546750895651494869111016","97370956225730433541144957102450771651","247583236580166848860249359671886046731","246056073609474032324716113114809265131","231778820217759859294770262255434393742","59976220456094641226861122524984142144","281170530184043019824164064151643473612","44134595371597138865251450204412831038","38041149787278070336000209871684380332"],"threshold":0.9},"id":"CVE-2026-45541-038a886f","signature_type":"Line","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/f88a47e4f37fb11ae4b0908cd5c80059d83198c6","target":{"file":"components/esp_http_server/src/httpd_ws.c"}},{"source":"https://github.com/espressif/esp-idf/commit/37508ab91124ef426a7396d30f79eba1162700c7","target":{"file":"components/esp_http_server/src/httpd_ws.c","function":"httpd_ws_get_response_subprotocol"},"deprecated":false,"digest":{"function_hash":"244118400018710790748568334796534737934","length":688},"id":"CVE-2026-45541-08b31668","signature_type":"Function","signature_version":"v1"},{"id":"CVE-2026-45541-16860269","signature_type":"Line","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/37508ab91124ef426a7396d30f79eba1162700c7","target":{"file":"components/esp_http_server/src/httpd_ws.c"},"deprecated":false,"digest":{"line_hashes":["68374993837791663302295921114802798207","158035011678057546750895651494869111016","97370956225730433541144957102450771651","247583236580166848860249359671886046731","246056073609474032324716113114809265131","231778820217759859294770262255434393742","59976220456094641226861122524984142144","281170530184043019824164064151643473612","44134595371597138865251450204412831038","38041149787278070336000209871684380332"],"threshold":0.9}},{"target":{"file":"components/esp_http_server/src/httpd_ws.c"},"deprecated":false,"digest":{"line_hashes":["68374993837791663302295921114802798207","158035011678057546750895651494869111016","97370956225730433541144957102450771651","247583236580166848860249359671886046731","246056073609474032324716113114809265131","231778820217759859294770262255434393742","59976220456094641226861122524984142144","281170530184043019824164064151643473612","44134595371597138865251450204412831038","38041149787278070336000209871684380332"],"threshold":0.9},"id":"CVE-2026-45541-4f27e3a1","signature_type":"Line","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/dc46dc51359749e50617eb70d6f9ae298adc4fff"},{"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["68374993837791663302295921114802798207","158035011678057546750895651494869111016","97370956225730433541144957102450771651","247583236580166848860249359671886046731","246056073609474032324716113114809265131","231778820217759859294770262255434393742","59976220456094641226861122524984142144","281170530184043019824164064151643473612","44134595371597138865251450204412831038","38041149787278070336000209871684380332"]},"id":"CVE-2026-45541-72cd03ee","signature_type":"Line","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/00a2f7fbbbd8fe6d04729022e1d5c9a49435bfe8","target":{"file":"components/esp_http_server/src/httpd_ws.c"}},{"target":{"file":"components/esp_http_server/src/httpd_ws.c","function":"httpd_ws_get_response_subprotocol"},"deprecated":false,"digest":{"length":688,"function_hash":"244118400018710790748568334796534737934"},"id":"CVE-2026-45541-85591a17","signature_type":"Function","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/00a2f7fbbbd8fe6d04729022e1d5c9a49435bfe8"},{"signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/dc46dc51359749e50617eb70d6f9ae298adc4fff","target":{"file":"components/esp_http_server/src/httpd_ws.c","function":"httpd_ws_get_response_subprotocol"},"deprecated":false,"digest":{"function_hash":"244118400018710790748568334796534737934","length":688},"id":"CVE-2026-45541-8b359188","signature_type":"Function"},{"source":"https://github.com/espressif/esp-idf/commit/0dc4ee7537f3b12350f5966cecacd59bba840ec6","target":{"file":"components/esp_http_server/src/httpd_ws.c"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["68374993837791663302295921114802798207","158035011678057546750895651494869111016","37178973627965117320627794772102626006","97719256207472583722254148861629786942","296634462215992964168505164913565558078","303406198193281921286447752284274933580","59976220456094641226861122524984142144","281170530184043019824164064151643473612","44134595371597138865251450204412831038","38041149787278070336000209871684380332"]},"id":"CVE-2026-45541-b444fd30","signature_type":"Line","signature_version":"v1"},{"target":{"function":"httpd_ws_get_response_subprotocol","file":"components/esp_http_server/src/httpd_ws.c"},"deprecated":false,"digest":{"function_hash":"244118400018710790748568334796534737934","length":688},"id":"CVE-2026-45541-b68c2bc4","signature_type":"Function","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/f88a47e4f37fb11ae4b0908cd5c80059d83198c6"},{"id":"CVE-2026-45541-e24af8d6","signature_type":"Line","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/9fc0ca13b3b85b98d32b98cd9dc8ff9d82642b7b","target":{"file":"components/esp_http_server/src/httpd_ws.c"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["68374993837791663302295921114802798207","158035011678057546750895651494869111016","37178973627965117320627794772102626006","97719256207472583722254148861629786942","296634462215992964168505164913565558078","303406198193281921286447752284274933580","59976220456094641226861122524984142144","281170530184043019824164064151643473612","44134595371597138865251450204412831038","38041149787278070336000209871684380332"]}},{"digest":{"function_hash":"88506217277125940666143534851459715505","length":690},"id":"CVE-2026-45541-e24ce76f","signature_type":"Function","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/9fc0ca13b3b85b98d32b98cd9dc8ff9d82642b7b","target":{"file":"components/esp_http_server/src/httpd_ws.c","function":"httpd_ws_get_response_subprotocol"},"deprecated":false},{"deprecated":false,"digest":{"function_hash":"88506217277125940666143534851459715505","length":690},"id":"CVE-2026-45541-f1492139","signature_type":"Function","signature_version":"v1","source":"https://github.com/espressif/esp-idf/commit/0dc4ee7537f3b12350f5966cecacd59bba840ec6","target":{"file":"components/esp_http_server/src/httpd_ws.c","function":"httpd_ws_get_response_subprotocol"}}]}}],"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:N/A:H"}]}