Netty — это асинхронная платформа сетевых приложений, управляемая событиями. В версиях до 4.1.136.Final и 4.2.16.Final кодировщик STOMP Netty ( StompSubframeEncoder ) не экранирует и не проверяет значения заголовков в кадрах CONNECT и CONNECTED , поэтому необработанные символы новой строки ( \n ) в значении заголовка записываются непосредственно в провод, что позволяет злоумышленнику, контролирующему значение заголовка, внедрить дополнительные заголовки STOMP. Это происходит потому, что кодировщик намеренно пропускает экранирование для кадров CONNECT/CONNECTED в соответствии со спецификацией STOMP 1.2, но никогда не отклоняет необработанные символы новой строки, а поскольку брокер анализирует каждую строку как отдельный заголовок, злоумышленник, контролирующий такое значение, как введенный пользователем логин или пароль, может перезаписать параметры соединения или добавить заголовки аутентификации/роли для обхода аутентификации или повышения привилегий (фактическое воздействие зависит от брокера).
Проблема исправлена в версиях 4.1.136.Final и 4.2.16.Final.
Показать оригинальное описание (EN)
Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.136.Final and 4.2.16.Final, Netty's STOMP encoder ( StompSubframeEncoder ) does not escape or validate header values in CONNECT and CONNECTED frames, so raw newline ( \n ) characters in a header value are written directly to the wire, allowing an attacker who controls a header value to inject additional STOMP headers. This happens because the encoder intentionally skips escaping for CONNECT/CONNECTED frames per the STOMP 1.2 specification but never rejects the raw newlines, and since a broker parses each line as a separate header, an attacker controlling a value such as a user-supplied login or passcode can overwrite connection parameters or add authentication/role headers to bypass authentication or escalate privileges (the actual impact is broker-dependent). The issue is fixed in versions 4.1.136.Final and 4.2.16.Final.
Характеристики атаки
Последствия
Строка CVSS v3.1