CVE-2026-50161 libre: Integer overflow in websock_decode() masked frame length check leads to heap buffer overflow
An integer overflow in libre's WebSocket decoder allows heap buffer overflows, potentially leading to code execution or denial of service in WebSocket servers.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-50161?
CVE-2026-50161 is a critical vulnerability in baresip re, published on 18 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
libre is a generic library for real-time communications with asynchronous input and output support. Prior to 4.8.1, the websock_decode() function in src/websock/websock.c contains an integer overflow when validating a masked WebSocket frame that uses the 64-bit extended length encoding. The expression 4 + hdr->len can wrap when hdr->len is close to UINT64_MAX, causing the mbuf_get_left() bounds check to pass. The subsequent XOR unmasking loop then writes beyond the heap buffer. Applications using websock_accept() or websock_accept_proto() to implement a WebSocket server are affected, and exploitation can cause attacker-controlled heap corruption or denial of service after the HTTP WebSocket upgrade handshake. This issue is fixed in version 4.8.1.
Which versions are affected by CVE-2026-50161?
How do I fix CVE-2026-50161?
Upgrade to a fixed version.
Is CVE-2026-50161 being exploited?
There is no known exploitation of CVE-2026-50161 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-50161, GHSA-hvxv-v2gp-v93h, UBUNTU-CVE-2026-50161.