Nest — это платформа для создания масштабируемых серверных приложений Node.js. До версии 11.1.18 SseStream._transform() интерполирует message.type и message.id непосредственно в выходные данные текстового протокола событий, отправленных сервером, без очистки символов новой строки (\r, \n). Поскольку протокол SSE рассматривает \r и \n как разделители полей, а \n\n как границы событий, злоумышленник, который может влиять на эти поля через вышестоящие источники данных, может внедрить произвольные события SSE, подделать типы событий и испортить состояние повторного подключения.
Эта уязвимость исправлена в версии 11.1.18.
Показать оригинальное описание (EN)
Nest is a framework for building scalable Node.js server-side applications. Prior to 11.1.18, SseStream._transform() interpolates message.type and message.id directly into Server-Sent Events text protocol output without sanitizing newline characters (\r, \n). Since the SSE protocol treats both \r and \n as field delimiters and \n\n as event boundaries, an attacker who can influence these fields through upstream data sources can inject arbitrary SSE events, spoof event types, and corrupt reconnection state. This vulnerability is fixed in 11.1.18.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Nestjs Nest
cpe:2.3:a:nestjs:nest:*:*:*:*:*:node.js:*:*
|
— |
11.1.18
|