Описание
stomper 5e2741e is vulnerable to Denial of Service. A malicious client can send partial STOMP frames and keep the TCP connections open, which, combined with the broker s use of edge-triggered epoll (EPOLLET) and MSG_PEEK in recv(), causes sockets to enter a permanent half-read state. When enough such connections accumulate, the broker stops receiving any further epoll events for those sockets and eventually hangs in epoll_wait, effectively refusing to process new messages.
A flaw was found in stomper. A remote attacker can exploit this by sending partial STOMP (Streaming Text Oriented Messaging Protocol) frames. This action can cause the broker's sockets to enter a permanent half-read state. Consequently, the broker stops processing new messages, leading to a Denial of Service (DoS) for legitimate users.
Отчет
A flaw was found in stomper. A remote unauthenticated attacker can cause a Denial of Service by sending partial STOMP frames over open TCP connections. When combined with the broker's use of edge-triggered epoll (EPOLLET) and MSG_PEEK in recv(), sockets enter a permanent half-read state. Once enough connections accumulate, the broker stops receiving epoll events for these sockets and hangs in epoll_wait, refusing new messages. Red Hat default security controls (e.g., non-root execution, process isolation) do not prevent this service-level socket starvation, though network boundaries can limit exposure.
Меры по смягчению последствий
Limit exposure by configuring network firewalls or security groups to restrict access to the STOMP broker port only to trusted clients. Alternatively, reduce the connection timeout and limit the maximum allowed unauthenticated TCP connections per host at the infrastructure or ingress layer.
Дополнительная информация
Статус:
EPSS
7.5 High
CVSS3
Связанные уязвимости
stomper 5e2741e is vulnerable to Denial of Service. A malicious client can send partial STOMP frames and keep the TCP connections open, which, combined with the broker s use of edge-triggered epoll (EPOLLET) and MSG_PEEK in recv(), causes sockets to enter a permanent half-read state. When enough such connections accumulate, the broker stops receiving any further epoll events for those sockets and eventually hangs in epoll_wait, effectively refusing to process new messages.
stomper 5e2741e is vulnerable to Denial of Service. A malicious client can send partial STOMP frames and keep the TCP connections open, which, combined with the broker s use of edge-triggered epoll (EPOLLET) and MSG_PEEK in recv(), causes sockets to enter a permanent half-read state. When enough such connections accumulate, the broker stops receiving any further epoll events for those sockets and eventually hangs in epoll_wait, effectively refusing to process new messages.
stomper 5e2741e is vulnerable to Denial of Service. A malicious client can send partial STOMP frames and keep the TCP connections open, which, combined with the broker s use of edge-triggered epoll (EPOLLET) and MSG_PEEK in recv(), causes sockets to enter a permanent half-read state. When enough such connections accumulate, the broker stops receiving any further epoll events for those sockets and eventually hangs in epoll_wait, effectively refusing to process new messages.
EPSS
7.5 High
CVSS3