Skip to content
OpenAdvisories
Critical · 9.3 CVE-2026-50161 EUVD-2026-61137

libre: Integer overflow in websock_decode() masked frame length check leads to heap buffer overflow

Published Aug 18, 2026 · Updated Aug 19, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
baresip re < 4.8.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libre 2.0.1-4 —
Debian 13 libre No fix yet —
Debian 12 libre No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 libre No fix yet —
Ubuntu 26.04 LTS libre No fix yet —
Ubuntu 24.04 LTS libre No fix yet —
Ubuntu 22.04 LTS libre No fix yet —
Ubuntu 20.04 LTS libre No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS libre No fix yet —
Ubuntu 16.04 LTS libre No fix yet —

References