we_are_coded.by CODE · Светът, декодиран
EN

Node.js · уязвимости

Node.js закърпи десет дупки, а една от тях, в разкомпресирането на Brotli, може да стигне до изпълнение на код

Бюлетинът на Node.js от 21 октомври обхваща четири High, три Medium и три Low. Единствената, при която бюлетинът пише за изпълнение на код, CVE-2026-111497, е в декодера на Brotli и засяга 26.x, 24.x и 22.x. Поправките са във v22.23.4, v24.22.1 и v26.12.1.

Източник
Node.js
Публикувано
Събитието
Проверено на
Отговорен редактор
Цветелин Иванов
Как работим
МетодКорекции

Разкомпресираш ли с node:zlib Brotli данни, които идват отвън? Ако да, засяга те единствената от десетте дупки в бюлетина на Node.js от 21 октомври, при която може да се стигне до изпълнение на код. Ако не, чети нататък: две от другите High са за друго.

Факт

Фактите: на 21 октомври 2026 г. Node.js публикува бюлетин с десет уязвимости: четири High, три Medium и три Low. Тежестите са етикетите на Node.js. Поправките са във v22.23.4, v24.22.1 и v26.12.1. CVE-2026-111497 (High) е в декодера на Brotli: според Node.js повреден компресиран вход води до запис след края на вътрешен буфер на декодера и може да доведе до срив, разкриване на памет на процеса или изпълнение на отдалечен код. Задейства се, когато приложение разкомпресира с node:zlib Brotli данни, подадени от нападател. Засяга 26.x, 24.x и 22.x. Още две High са за проверката на сертификат срещу IP адрес: CVE-2026-105483 (адрес, записан с цифри с пълна ширина, не се разпознава като IP и се сверява с DNS имената в сертификата; засяга 26.x и 24.x) и CVE-2026-106069 (водеща нула в IPv4 се чете като осмично при проверката на сертификата, а резолвърът на някои системи, като macOS, я чете като десетично, така че може да се удостовери грешният адрес; засяга 26.x, 24.x и 22.x). Четвъртата High е за DNS и име с NUL байт. Бюлетинът не споменава случаи на атаки.

Условието решава всичко. Преброй къде приемаш компресирани данни от външни хора или от чужд сървър. Само там дупката има път към теб.

Важно е чии данни разкомпресираш, не дали ползваш Brotli.

Другите две High са близнаци по смисъл: проверка на сертификат срещу IP адрес, която може да удостовери грешния. Подминава се лесно, защото и двете са в странно изписани адреси, с цифри с пълна ширина или с водеща нула. Ако приложението ти се свързва по IP и адресът идва като текст отвън, това е твоят случай.

Сред обновените зависимости в същия бюлетин е и списъкът с доверени сертификати (ca-cert), с бележка за компрометираните междинни сертификати на eMudhra.

Това не го знам. Дали други проекти с Brotli са засегнати, бюлетинът не казва: той говори за декодера в Node.js.

Версията на твоята линия трябва да е поне v22.23.4, v24.22.1 или v26.12.1; ако е по-ниска, обновяването е следващата ти задача. Ако линията ти я няма в списъка (26, 24, 22), Node.js пише, че версиите след края на поддръжката са засегнати при всяко такова издание.

Визуалът към статията е генериран код-арт, без чужди изображения.