CVE-2026-33672

MEDIUM CVSS 3.1: 5,3 EPSS 0.05%
Обновлено 30 марта 2026
Picomatch
Параметр Значение
CVSS 5,3 (MEDIUM)
Уязвимые версии до 4.0.4
Тип уязвимости CWE-1321 (Загрязнение прототипа)
Поставщик Picomatch
Публичный эксплойт Нет

Picomatch — это программа сопоставления глобусов, написанная на JavaScript. Версии до 4.0.4, 3.0.2 и 2.3.2 уязвимы к внедрению метода, влияющему на объект `POSIX_REGEX_SOURCE`. Поскольку объект наследуется от Object.prototype, специально созданные выражения скобок POSIX (например, `[[:constructor:]]`) могут ссылаться на унаследованные имена методов.

Эти методы неявно преобразуются в строки и вводятся в сгенерированное регулярное выражение. Это приводит к неправильному поведению при сопоставлении glob (нарушение целостности), когда шаблоны могут соответствовать непредусмотренным именам файлов. Эта проблема не обеспечивает удаленное выполнение кода, но может вызвать логические ошибки, связанные с безопасностью, в приложениях, которые полагаются на сопоставление глобальных значений для фильтрации, проверки или управления доступом.

Потенциально затронуты все пользователи затронутых версий picomatch, которые обрабатывают ненадежные или контролируемые пользователем шаблоны glob. Эта проблема исправлена ​​в picomatch 4.0.4, 3.0.2 и 2.3.2. Пользователям следует выполнить обновление до одной из этих версий или более поздней, в зависимости от поддерживаемой линейки выпуска.

Если обновление невозможно сразу, избегайте передачи ненадежных шаблонов шаблонов в picomatch. Возможные меры по смягчению последствий включают очистку или отклонение ненадежных шаблонов glob, особенно тех, которые содержат классы символов POSIX, такие как `[[:...:]]`; избегать использования выражений скобок POSIX, если задействован пользовательский ввод; и вручную исправьте библиотеку, изменив POSIX_REGEX_SOURCE для использования нулевого прототипа.

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

Picomatch is a glob matcher written JavaScript. Versions prior to 4.0.4, 3.0.2, and 2.3.2 are vulnerable to a method injection vulnerability affecting the `POSIX_REGEX_SOURCE` object. Because the object inherits from `Object.prototype`, specially crafted POSIX bracket expressions (e.g., `[[:constructor:]]`) can reference inherited method names. These methods are implicitly converted to strings and injected into the generated regular expression. This leads to incorrect glob matching behavior (integrity impact), where patterns may match unintended filenames. The issue does not enable remote code execution, but it can cause security-relevant logic errors in applications that rely on glob matching for filtering, validation, or access control. All users of affected `picomatch` versions that process untrusted or user-controlled glob patterns are potentially impacted. This issue is fixed in picomatch 4.0.4, 3.0.2 and 2.3.2. Users should upgrade to one of these versions or later, depending on their supported release line. If upgrading is not immediately possible, avoid passing untrusted glob patterns to picomatch. Possible mitigations include sanitizing or rejecting untrusted glob patterns, especially those containing POSIX character classes like `[[:...:]]`; avoiding the use of POSIX bracket expressions if user input is involved; and manually patching the library by modifying `POSIX_REGEX_SOURCE` to use a null prototype.

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

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

Последствия

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

Строка CVSS v3.1

Связанные уязвимости