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

Sinatra before 2.2.0 does not validate that the expanded path matches public_dir when serving static files.

ВысокаяCVSS 7.5 · v3.1—Эксплойта нет Есть исправление
Опубликовано
2 мая 2022 г.
Обновлено
17 июн. 2026 г.
EPSS
2,1 % · 81-й процентиль
Следить за этой CVE

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

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

JSON

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

31

Наблюдать

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

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

Анализ Noroxi

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

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

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

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

ВендорПродукт
sinatrarbsinatra
debiandebian linux

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

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

  • debian debian linux10.0
  • sinatrarb sinatraдо 2.2.0

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8pcsдо 0.10.12-6.el8.alma0.10.12-6.el8.alma
AlmaLinux:8pcs-snmpдо 0.10.12-6.el8.alma0.10.12-6.el8.alma
AlmaLinux:9pcsдо 0.11.1-10.el90.11.1-10.el9
AlmaLinux:9pcs-snmpдо 0.11.1-10.el90.11.1-10.el9
Debian:10ruby-sinatraдо 2.0.5-4+deb10u12.0.5-4+deb10u1
Debian:11ruby-sinatraдо 2.0.8.1-2+deb11u12.0.8.1-2+deb11u1
Debian:12ruby-sinatraдо 2.2.2-12.2.2-1
Red Hat:enterprise_linux:8::highavailabilitypcsдо 0:0.10.12-6.el8_6.10:0.10.12-6.el8_6.1
Red Hat:enterprise_linux:8::highavailabilitypcs-snmpдо 0:0.10.12-6.el8_6.10:0.10.12-6.el8_6.1
Red Hat:enterprise_linux:9::highavailabilitypcsдо 0:0.11.1-10.el9_0.10:0.11.1-10.el9_0.1
Red Hat:enterprise_linux:9::highavailabilitypcs-snmpдо 0:0.11.1-10.el9_0.10:0.11.1-10.el9_0.1
Red Hat:rhel_e4s:8.1::highavailabilitypcsдо 0:0.10.2-4.el8_1.20:0.10.2-4.el8_1.2
Red Hat:rhel_e4s:8.1::highavailabilitypcs-snmpдо 0:0.10.2-4.el8_1.20:0.10.2-4.el8_1.2
Red Hat:rhel_eus:8.2::highavailabilitypcsдо 0:0.10.4-6.el8_2.20:0.10.4-6.el8_2.2
Red Hat:rhel_eus:8.2::highavailabilitypcs-snmpдо 0:0.10.4-6.el8_2.20:0.10.4-6.el8_2.2
Red Hat:rhel_eus:8.4::highavailabilitypcsдо 0:0.10.8-1.el8_4.10:0.10.8-1.el8_4.1
Red Hat:rhel_eus:8.4::highavailabilitypcs-snmpдо 0:0.10.8-1.el8_4.10:0.10.8-1.el8_4.1
Red Hat:satellite_capsule:6.12::el8foremanдо 0:3.3.0.17-1.el8sat0:3.3.0.17-1.el8sat
Red Hat:satellite_capsule:6.12::el8foreman-debugдо 0:3.3.0.17-1.el8sat0:3.3.0.17-1.el8sat
Red Hat:satellite_capsule:6.12::el8python-djangoдо 0:3.2.14-2.el8pc0:3.2.14-2.el8pc
Red Hat:satellite_capsule:6.12::el8python39-djangoдо 0:3.2.14-2.el8pc0:3.2.14-2.el8pc
Red Hat:satellite_capsule:6.12::el8rubygem-nokogiriдо 0:1.13.8-1.el8sat0:1.13.8-1.el8sat
Red Hat:satellite_capsule:6.12::el8rubygem-nokogiri-debuginfoдо 0:1.13.8-1.el8sat0:1.13.8-1.el8sat
Red Hat:satellite_capsule:6.12::el8rubygem-nokogiri-debugsourceдо 0:1.13.8-1.el8sat0:1.13.8-1.el8sat

+53

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

sinatrarb: все записи

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

  • CVE-2022-45442Sinatra vulnerable to Reflected File Download attack
    35Наблюдать
  • CVE-2018-11627Sinatra before 2.0.2 has XSS via the 400 Bad Request page that occurs upon a params parser exception.
    25Наблюдать
  • CVE-2018-7212An issue was discovered in rack-protection/lib/rack/protection/path_traversal.rb in Sinatra 2.x before 2.0.1 on Windows.
    22Наблюдать
  • CVE-2025-61921Sinatra has ReDoS vulnerability in ETag header value generation
    10Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
almalinux:pcs0.11.1-10.el9 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:pcs-snmp0.11.1-10.el9 · AlmaLinux:9Реестр пакетов (OSV)
debian:ruby-sinatra2.2.2-1 · Debian:12Реестр пакетов (OSV)
red hat:candlepin0:4.1.15-1.el8sat · Red Hat:satellite:6.12::el8Реестр пакетов (OSV)
red hat:candlepin-selinux0:4.1.15-1.el8sat · Red Hat:satellite:6.12::el8Реестр пакетов (OSV)
red hat:pcs0:0.10.4-6.el8_2.2 · Red Hat:rhel_eus:8.2::highavailabilityРеестр пакетов (OSV)
red hat:pcs-snmp0:0.10.4-6.el8_2.2 · Red Hat:rhel_eus:8.2::highavailabilityРеестр пакетов (OSV)
red hat:python-django0:3.2.14-2.el8pc · Red Hat:satellite_capsule:6.12::el8Реестр пакетов (OSV)
red hat:python39-django0:3.2.14-2.el8pc · Red Hat:satellite_capsule:6.12::el8Реестр пакетов (OSV)
red hat:rubygem-git0:1.11.0-1.el8sat · Red Hat:satellite:6.12::el8Реестр пакетов (OSV)
red hat:rubygem-nokogiri0:1.13.8-1.el8sat · Red Hat:satellite_capsule:6.12::el8Реестр пакетов (OSV)
red hat:rubygem-nokogiri-debuginfo0:1.13.8-1.el8sat · Red Hat:satellite_capsule:6.12::el8Реестр пакетов (OSV)
red hat:rubygem-nokogiri-debugsource0:1.13.8-1.el8sat · Red Hat:satellite_capsule:6.12::el8Реестр пакетов (OSV)
red hat:rubygem-rails-html-sanitizer0:1.4.3-2.el8sat · Red Hat:satellite:6.12::el8Реестр пакетов (OSV)
red hat:rubygem-sinatra1:2.2.0-1.el8sat · Red Hat:satellite_capsule:6.12::el8Реестр пакетов (OSV)
rocky linux:libdb0:5.3.28-42.el8_4 · Rocky Linux:8Реестр пакетов (OSV)
rocky linux:pcs0:0.10.12-6.el8_6.1 · Rocky Linux:8Реестр пакетов (OSV)
RubyGems:sinatra2.2.0Реестр пакетов (OSV)
suse:ardana-barbican9.0+git.1644879908.8a641c1-3.13.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:grafana6.7.4-3.26.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-barbican7.0.1~dev24-3.14.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-cinder13.0.10~dev24-3.34.2 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-heat-gbp14.0.1~dev4-3.9.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-horizon-plugin-gbp-ui14.0.1~dev3-3.9.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-ironic11.1.5~dev18-3.28.2 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-keystone14.2.1~dev9-3.28.2 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-neutron13.0.8~dev206-3.40.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:openstack-neutron-gbp14.0.1~dev33-3.31.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:python-Pillow5.2.0-3.17.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)
suse:python-XStatic-jquery-ui1.13.0.1-4.3.1 · SUSE:OpenStack Cloud 9Реестр пакетов (OSV)

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

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

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

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

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват 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).

Национальное уведомление (Управление кибербезопасности Турции / USOM)

Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.

Все национальные уведомления →

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

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

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

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

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

Вектор CVSS

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

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.

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

  1. Исправление✗ → ✓

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

Источники

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

Все записи