Cowlib · Cowlib · CVE-2026-43968
**Nome do Software Vulnerável e Versões Afetadas**
cowlib versões 2.6.0 e posteriores
**Descrição**
A Neutralização Imprópria de Sequências CRLF (Injeção de CRLF) permite a divisão e injeção de eventos SSE por meio de valores de campo não validados. A função `cow sse:event/1` protege os campos `id` e `event` contra `
`, mas não contra `r`, e a função interna `prefix lines/2`, utilizada para campos de dados e comentários, realiza a divisão apenas em `
`. Como a especificação SSE exige que os decodificadores tratem `r
`, `r` e `
` como terminadores de linha equivalentes, um invasor que controle qualquer um desses campos pode injetar linhas SSE adicionais e forjar um evento completo com um tipo de evento e carga de dados arbitrários no receptor. Em implantações típicas onde clientes EventSource de navegadores ou outros consumidores de SSE despacham em `event.type` e renderizam `event.data`, isso permite a divisão de eventos, manipulação de lógica no lado do cliente e comportamento equivalente a XSS armazenada quando os dados do evento são inseridos no DOM.
**Recomendações**
Para as versões 2.6.0 e posteriores, sanitize valores controlados pelo usuário antes de passá-los para `cow sse:event/1`, rejeitando ou removendo qualquer valor que contenha caracteres `r` ou `
` nos campos `id`, `event`, `data` e `comment`.
Garanta que todos os valores de campo SSE sejam derivados exclusivamente de dados confiáveis e controlados pela aplicação, em vez de entradas do usuário.