Executive brief
OpenRGB is a cross-platform RGB lighting control application that provides a network protocol for remote device communication. A flaw in the network protocol allows attackers to trigger memory exhaustion and out-of-bounds memory access by sending specially crafted packets with inconsistent data, leading to denial of service or potential system compromise.
Technical details
The vulnerability exists in OpenRGB's network protocol implementation (NetworkClient.cpp and NetworkServer.cpp) where insufficient validation of packet size headers allows attackers to cause memory exhaustion and out-of-bounds access. The flaw occurs when receiving network packets with inconsistent data—specifically when the declared packet size (pkt_size) in the header is not properly validated before memory allocation. An unauthenticated attacker with network access to the OpenRGB SDK port (default 6742) can send malicious packets to trigger denial of service or memory corruption. The fix involves adding validation to reject packets exceeding OPENRGB_SDK_MAX_PACKET_SIZE (8MB) before processing.
Affected products
- Adam Honse OpenRGB before 0.9 rc3
Timeline
- 2026-08-26: disclosed
- 2026-08-12: patched: Fix committed in release_candidate_1.0rc3