Перейти к содержимому
Noroxi
NVD / CVE Program· CNA GitHub_M

CVE-2026-113726: virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST

ВысокаяCVSS 7.8 · v3.1—Эксплойта нет Есть исправление

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 31/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,34% (FIRST EPSS).
  • Может быть вызвана пользователем с локальным доступом к системе. Учётная запись или пароль не требуются. Пользователь должен открыть ссылку или посетить страницу. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: pypa virtualenv 21.14.4.

Пока низкий приоритет. Обновитесь до pypa virtualenv 21.14.4 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash activate script that zsh also sources leaves the environment name unescaped; from 21.13.0 until 21.14.4, it escapes backslashes, dollar signs, and backticks only when BASH_VERSION is set, so zsh receives the raw value. The script assigns that value to PS1. In zsh with PROMPT_SUBST, an attacker-influenced environment directory, --prompt, or VIRTUALENV_PROMPT value containing command, parameter, or arithmetic expansion syntax can therefore execute commands in the user's shell each time the prompt is drawn. A percent sign is separately interpreted as a zsh prompt escape but does not by itself execute commands. Plain zsh with PROMPT_SUBST disabled and bash are not affected by this mechanism. This issue is fixed in version 21.14.4.

Опубликовано
20 окт. 2026 г.
Обновлено
27 окт. 2026 г.
EPSS
0,3 % · 28-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

31

Наблюдать

Пока низкий приоритет.

CVSS
31 / 40 · 7.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,3 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
полное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
—
CNA · GitHub_M
7,8
NVD ещё не выставил свою оценку; показана оценка CNA.

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2026-113726

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — на платных планах раз в 10 минут, на бесплатном раз в час.

С бесплатным аккаунтом также

  • Оповещения о CVE: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности, не больше 30 в день (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

—

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.

  • pypa virtualenv

    • < 21.14.4затронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12python-virtualenvс 0—
openSUSE:Tumbleweedpython-virtualenvдо 21.15.1-1.121.15.1-1.1
PyPIvirtualenvдо 21.14.421.14.4

Тот же продукт

pypa: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-113776virtualenv activation scripts run code from a path that contains a placeholder name
    31Наблюдать
  • CVE-2026-113732virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote
    31Наблюдать
  • CVE-2026-113725virtualenv bash activate runs commands from an environment name with a backslash before $
    31Наблюдать

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2026-11372320 окт. 2026 г. · virtualenv: Bash prompt values can change meaning under older compatibility modes
    28Наблюдать
  • ← РаньшеCVE-2026-11372420 окт. 2026 г. · virtualenv: Deletion recovery can change a symlink target's mode
    18Наблюдать
  • Позже →CVE-2026-11558623 окт. 2026 г. · virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it (regression in 21.14.9)
    28Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
pypa virtualenv21.14.4 · descriptionВендор (CNA)
opensuse:python-virtualenv21.15.1-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
PyPI:virtualenv21.14.4Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

  1. Публикация
  2. Исправлениев тот же день
  3. Сегодня12 нояб. 2026 г.+23 дн.
EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

  • CVE-2026-113722с разницей 0 дн.virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax
    31Наблюдать
  • CVE-2026-113725с разницей 0 дн.virtualenv bash activate runs commands from an environment name with a backslash before $
    31Наблюдать
  • CVE-2026-113732с разницей 0 дн.virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote
    31Наблюдать
  • CVE-2026-113776с разницей 0 дн.virtualenv activation scripts run code from a path that contains a placeholder name
    31Наблюдать
  • CVE-2026-102937с разницей 21 дн.virtualenv: Command injection via --prompt in activate.bat (batch activator)
    29Наблюдать
  • CVE-2026-113723с разницей 0 дн.virtualenv: Bash prompt values can change meaning under older compatibility modes
    28Наблюдать

В записи нет: указания авторов находки · публичной программы вознаграждений.

Технические детали

Условия атаки

  • Может быть вызвана пользователем с локальным доступом к системе.
  • Учётная запись или пароль не требуются.
  • Пользователь должен открыть ссылку или посетить страницу.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Локальный
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Вектор CVSS

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

nvd-secondary

Первопричина

Пользовательский ввод вставляется в команду оболочки как текст. Оболочка может интерпретировать специальные символы во вводе как часть команды.

Ошибка в коде

Весь класс CWE-78

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
const host = req.body.host;exec("ping -c 1 " + host, onResult);

Исправленный код

ts
const host = req.body.host;if (!/^[a-z0-9.-]{1,253}$/i.test(host)) return res.sendStatus(400);execFile("ping", ["-c", "1", host], onResult);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Журнал изменений

  1. Эксплуатация SSVC— → none
  2. Исправление✗ → ✓
  3. Зрелость эксплойта— → none

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Показать все источники (ещё 2)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи