Executive brief
Libevent is a widely-used event notification library that powers many networked applications and services. A flaw in its RPC tag-decoding logic allows an attacker to send a malformed message that causes the library to read memory beyond its intended bounds. This can crash applications that process untrusted RPC data, resulting in denial of service.
Technical details
The vulnerability is an out-of-bounds read in the decode_tag_internal function in event_tagging.c. The function calls evbuffer_pullup with a calculated window size (at most 6 bytes) but then iterates over the full logical buffer length, causing it to read past the pullup boundary. A fragmented evbuffer containing a six-byte malformed tag can trigger out-of-bounds memory access. The attack vector is network-based: an attacker sends a specially crafted RPC message to a service using Libevent. The fix, applied in versions 2.1.13 and 2.2.2-alpha, constrains the iteration to the actual pullup length.
Affected products
- Libevent Libevent prior to 2.1.13 and prior to 2.2.2-alpha
Timeline
- 2026-08-20: disclosed