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

HHVM supports the use of an "admin" server which accepts administrative requests over HTTP.

HHVM supports the use of an "admin" server which accepts administrative requests over HTTP. One of those request handlers, dump-pcre-cache, can be used to output cached regular expressions from the current execution context into a file. The handler takes a parameter which specifies where on the filesystem to write this data. The parameter is not validated, allowing a malicious user to overwrite arbitrary files where the user running HHVM has write access. This issue affects HHVM versions prior to 4.56.2, all versions between 4.57.0 and 4.78.0, as well as 4.79.0, 4.80.0, 4.81.0, 4.82.0, and 4.83.0.

ВысокаяCVSS 8.1 · v3.1—Эксплойта нет Исправление не зафиксировано
Опубликовано
26 окт. 2021 г.
Обновлено
16 июн. 2026 г.
EPSS
1,8 % · 77-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

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

JSON

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

33

Наблюдать

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

CVSS
32 / 40 · 8.1 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
1 / 30 · 1,8 %

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

ВендорПродукт
facebookhhvm

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

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • facebook hhvmдо 4.56.2
  • facebook hhvm4.57.0 и новее · до 4.78.0 включительно
  • facebook hhvm4.79.0
  • facebook hhvm4.80.0
  • facebook hhvm4.81.0
  • facebook hhvm4.82.0
  • facebook hhvm4.83.0

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

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

  • Facebook HHVM

    • 4.83.1 и новее · до unspecifiedне затронута
    • 4.83.0 и новее · до unspecifiedзатронута
    • 4.82.1 и новее · до unspecifiedне затронута
    • 4.82.0 и новее · до unspecifiedзатронута
    • 4.81.1 и новее · до unspecifiedне затронута
    • 4.81.0 и новее · до unspecifiedзатронута
    • 4.80.1 и новее · до unspecifiedне затронута
    • 4.80.0 и новее · до unspecifiedзатронута
    • 4.79.1 и новее · до unspecifiedне затронута
    • 4.79.0 и новее · до unspecifiedзатронута

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

facebook: все записи

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

  • CVE-2019-11930An invalid free in mb_detect_order can cause the application to crash or potentially result in remote code execution.
    40В плане
  • CVE-2019-11929Insufficient boundary checks when formatting numbers in number_format allows read/write access to out-of-bounds memory, potentially leading
    40В плане
  • CVE-2019-11926Insufficient boundary checks when processing M_SOFx markers from JPEG headers in the GD extension could allow access to out-of-bounds memory
    40В плане
  • CVE-2019-11925Insufficient boundary checks when processing the JPEG APP12 block marker in the GD extension could allow access to out-of-bounds memory via
    40В плане
  • CVE-2019-3561Insufficient boundary checks for the strrpos and strripos functions allow access to out-of-bounds memory.
    40В плане
  • CVE-2019-3557The implementations of streams for bz2 and php://output improperly implemented their readImpl functions, returning -1 consistently.
    40В плане

Исправление

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

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

Для этой записи не зафиксирована версия с исправлением. Смотрите бюллетени вендора в источниках.

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

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

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

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

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

Хронология

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

Кроме публикации датированных событий нет.

EPSS за 120 дней

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

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

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

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

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

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

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

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

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

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

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

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

Вектор CVSS

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

nvd-primary

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

Имя файла, переданное пользователем, объединяется с разрешённым каталогом, но не проверяется, остаётся ли результат внутри этого каталога.

Ошибка в коде

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

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

Уязвимый код

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

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

ts
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) {  return res.sendStatus(400);}res.sendFile(file);

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

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

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

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

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

Изменений отслеживаемых полей пока нет. Здесь появятся изменения оценки, KEV, зрелости эксплойта и статуса исправления.

Источники

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

Все записи