{"id":"CVE-2026-19773","aliases":["DEBIAN-CVE-2026-19773","EUVD-2026-79130","GHSA-r4m8-276f-3r2f","OESA-2026-4076","UBUNTU-CVE-2026-19773","USN-8893-1"],"status":"published","title":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00646,"percentile":0.51486,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-787"],"published":"2026-09-15T18:01:09Z","modified":"2026-10-28T10:50:35Z","fixes":[{"ecosystem":"Debian:13","package":"libwebsockets","fixed_in":["4.3.5-1+deb13u3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libwebsockets","fixed_in":["4.3.5-7"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libwebsockets","fixed_in":["1.7.1-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libwebsockets","fixed_in":["2.0.3-3ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libwebsockets","fixed_in":["3.2.1-3ubuntu0.1~esm3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libwebsockets","fixed_in":["4.0.20-2ubuntu1.1+esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libwebsockets","fixed_in":["4.3.3-1.1ubuntu0.1~esm3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:26.04:LTS","package":"libwebsockets","fixed_in":["4.3.5-3ubuntu1.2+esm1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.1.6-3","4.1.6-3.1","4.3.2-1","4.3.2-2","4.3.2-3","4.3.2-4","4.3.3-1","4.3.3-1.1","4.3.3-1.1~exp1","4.3.5-1","4.3.5-2","4.3.5-3","4.3.5-4","4.3.5-4.1","4.3.5-5","4.3.5-6","4.3.5-7"]},{"source":"osv","ecosystem":"Debian:13","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.5-1+deb13u3"}]}],"versions":["4.3.5-1","4.3.5-1+deb13u1","4.3.5-1+deb13u2"]},{"source":"osv","ecosystem":"Debian:14","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.5-7"}]}],"versions":["4.3.5-1","4.3.5-2","4.3.5-3","4.3.5-4","4.3.5-4.1","4.3.5-5","4.3.5-6"]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.3-8.oe2403sp1"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.3-8.oe2403sp3"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP4","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.3-8.oe2403sp4"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP4","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.0-11.oe2003sp4"}]}],"bundled":2},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP4","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.0-11.oe2203sp4"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.7.1-1ubuntu0.1~esm1"}]}],"versions":["1.2.2-1","1.6.0-3","1.6.0-4","1.6.0-5","1.6.1-1","1.7.0-1ubuntu1","1.7.0-2","1.7.1-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.3-3ubuntu0.1~esm1"}]}],"versions":["2.0.3-3","2.0.3-3build1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.1-3ubuntu0.1~esm3"}]}],"versions":["2.0.3-3build1","3.2.1-3","3.2.1-3ubuntu0.1~esm1","3.2.1-3ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.20-2ubuntu1.1+esm2"}]}],"versions":["4.0.20-2","4.0.20-2ubuntu1","4.0.20-2ubuntu1.1","4.0.20-2ubuntu1.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.3-1.1ubuntu0.1~esm3"}]}],"versions":["4.3.2-4","4.3.3-1","4.3.3-1.1build1","4.3.3-1.1build2","4.3.3-1.1build3","4.3.3-1.1ubuntu0.1~esm1","4.3.3-1.1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.5-3ubuntu1.2+esm1"}]}],"versions":["4.3.5-1","4.3.5-3","4.3.5-3ubuntu1","4.3.5-3ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.7.1-1ubuntu0.1~esm1"}]}],"versions":["1.2.2-1","1.6.0-3","1.6.0-4","1.6.0-5","1.6.1-1","1.7.0-1ubuntu1","1.7.0-2","1.7.1-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.3-3ubuntu0.1~esm1"}]}],"versions":["2.0.3-3","2.0.3-3build1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.1-3ubuntu0.1~esm3"}]}],"versions":["2.0.3-3build1","3.2.1-3","3.2.1-3ubuntu0.1~esm1","3.2.1-3ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.20-2ubuntu1.1+esm2"}]}],"versions":["4.0.20-2","4.0.20-2ubuntu1","4.0.20-2ubuntu1.1","4.0.20-2ubuntu1.1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.3-1.1ubuntu0.1~esm3"}]}],"versions":["4.3.2-4","4.3.3-1","4.3.3-1.1build1","4.3.3-1.1build2","4.3.3-1.1build3","4.3.3-1.1ubuntu0.1~esm1","4.3.3-1.1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"libwebsockets","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.5-3ubuntu1.2+esm1"}]}],"versions":["4.3.5-1","4.3.5-3","4.3.5-3ubuntu1","4.3.5-3ubuntu1.1"]}],"products":[{"vendor":"libwebsockets","product":"libwebsockets"},{"vendor":"warmcat","product":"libwebsockets"}],"references":[{"url":"https://www.zerodayinitiative.com/advisories/ZDI-26-590/","tags":["x_research-advisory","advisory"]},{"url":"https://github.com/warmcat/libwebsockets/commit/824151862f37bc72f46d9a3e01d5b9408d313a0b","tags":["vendor-advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-19773","tags":["advisory"]},{"url":"https://www.zerodayinitiative.com/advisories/ZDI-26-590"},{"url":"https://github.com/advisories/GHSA-r4m8-276f-3r2f"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/19xxx/CVE-2026-19773.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-19773","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4076","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-78161","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-19773","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-19773","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8893-1","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-19773","title":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T18:01:09.199Z","modified":"2026-09-16T03:57:34.021Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T13:47:17.512524Z"}],"euvd":[{"id":"EUVD-2026-79130","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T18:01:09Z","modified":"2026-09-16T03:57:34Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T17:28:16.649841Z"}],"ghsa":[{"id":"GHSA-r4m8-276f-3r2f","title":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution...","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T21:31:15Z","modified":"2026-09-15T21:31:16Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T15:11:55.405915Z"}],"nvd":[{"id":"CVE-2026-19773","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T19:17:17.747Z","modified":"2026-09-18T19:10:46.443Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T14:12:47.668237Z"}],"osv":[{"id":"CVE-2026-19773","title":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T18:01:09.199Z","modified":"2026-10-28T10:50:35.083958267Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T15:44:58.024074Z"},{"id":"DEBIAN-CVE-2026-19773","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.  The specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T19:17:17.747Z","modified":"2026-10-01T04:00:06.720392341Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:53.097669Z"},{"id":"OESA-2026-4076","title":"libwebsockets security update","description":"Libwebsockets (LWS) is a flexible, lightweight pure C library for implementing modern network protocols easily with a tiny footprint, using a nonblocking event loop.\r\n\r\nSecurity Fix(es):\n\nlibwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.(CVE-2026-19773)\n\nA vulnerability classified as critical was found in warmcat libwebsockets 4.5.0. The vulnerability is in the function report_raw_cbor in lib/misc/lecp.c when handling LECP CBOR recordings. This issue allows an out-of-bounds write (CWE-787), which could affect confidentiality, integrity, and availability. A proof-of-concept exploit is available.(CVE-2026-78161)","status":"published","published":"2026-09-25T01:28:08Z","modified":"2026-09-25T01:45:10.370172076Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"UBUNTU-CVE-2026-19773","description":"libwebsockets HTTP/2 HPACK Path Header Parsing Out-Of-Bounds Write Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of libwebsockets. Authentication is not required to exploit this vulnerability. The specific flaw exists within the parsing of HTTP/2 HPACK path header. The issue results from the lack of proper validation of user-supplied data, which can result in a write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-31036.","status":"published","published":"2026-09-15T19:17:00Z","modified":"2026-10-08T12:53:39.042783661Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T16:56:01.334185Z"},{"id":"USN-8893-1","title":"libwebsockets vulnerabilities","description":"It was discovered that libwebsockets did not properly validate\nuser-supplied data when parsing HTTP/2 HPACK path headers, which could\nresult in a write past the end of an allocated buffer. An attacker could\npossibly use this issue to execute arbitrary code. (CVE-2026-19773)\n\nIt was discovered that libwebsockets did not properly handle CBOR\nrecording in the LECP parser, which could result in a write past the end\nof an allocated buffer. An attacker could possibly use this issue to\ncause a crash or execute arbitrary code. (CVE-2026-78161)","status":"published","published":"2026-10-07T10:05:38Z","modified":"2026-10-08T12:58:05.069798336Z","updated_at":"2026-11-02T16:58:26.907654Z"}]}}
