CVE-2026-31988

MEDIUM CVSS 4.0: 6,9 EPSS 0.14%
Обновлено 11 марта 2026
yauzl
Параметр Значение
CVSS 6,9 (MEDIUM)
Устранено в версии 3.2.1
Тип уязвимости CWE-193
Поставщик yauzl
Публичный эксплойт Нет

yauzl (также известная как «Еще одна библиотека распаковки») версии 3.2.0 для Node.js содержит ошибку отклонения на единицу в анализаторе дополнительных полей расширенной метки времени NTFS в функции getLastModDate(). Условие цикла while проверяет курсор < data.length + 4 вместо курсора + 4 <= data.length, позволяя readUInt16LE() читать за границей буфера. Удаленный злоумышленник может вызвать отказ в обслуживании (сбой процесса из-за исключения ERR_OUT_OF_RANGE), отправив созданный zip-файл с неверным дополнительным полем NTFS.

Это влияет на любое приложение Node.js, которое обрабатывает загрузку zip-файлов и вызывает метод input.getLastModDate() для анализируемых записей. Исправлено в версии 3.2.1.

Показать оригинальное описание (EN)

yauzl (aka Yet Another Unzip Library) version 3.2.0 for Node.js contains an off-by-one error in the NTFS extended timestamp extra field parser within the getLastModDate() function. The while loop condition checks cursor < data.length + 4 instead of cursor + 4 <= data.length, allowing readUInt16LE() to read past the buffer boundary. A remote attacker can cause a denial of service (process crash via ERR_OUT_OF_RANGE exception) by sending a crafted zip file with a malformed NTFS extra field. This affects any Node.js application that processes zip file uploads and calls entry.getLastModDate() on parsed entries. Fixed in version 3.2.1.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Низкое
Частичное нарушение работы

Строка CVSS v4.0

Тип уязвимости (CWE)