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

CI4MS: Stored XSS in Blog Content via Broken `html_purify` Validation Rule

Оценка Noroxi

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

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,23% (FIRST EPSS).
  • Может быть вызвана любым, у кого есть доступ через интернет. Достаточно учётной записи с низкими привилегиями. Пользователь должен открыть ссылку или посетить страницу. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: ci4-cms-erp/ci4ms (Packagist) 0.31.9.0.

Пока низкий приоритет. Обновитесь до ci4-cms-erp/ci4ms (Packagist) 0.31.9.0 или новее.

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

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

CI4MS is a CodeIgniter 4-based content management system skeleton. Prior to version 0.31.9.0, the custom `html_purify` validation rule used to sanitize blog post bodies relies on by-reference mutation (`?string &$str`), but CodeIgniter 4's validator passes a local copy of the value, so the sanitized text is silently discarded. The Blog controller writes `$lanData['content']` directly into `blog_langs.content`, and the public template echoes it without escaping — yielding stored XSS executable in any visitor's browser, including the superadmin when previewing or editing posts. Version 0.31.9.0 patches the issue.

СредняяCVSS 5.4 · v3.1—Эксплойта нет Есть исправление
Опубликовано
19 июл. 2026 г.
Обновлено
21 июл. 2026 г.
EPSS
0,2 % · 13-й процентиль

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

JSON

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

21

Наблюдать

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

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

Решение CISA SSVC

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

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

Оценка CNA и NVD

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

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

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

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

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

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

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

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

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

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

У вас WordPress? Проверьте сайт бесплатно в WP Lens

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

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

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

У вас WordPress? Проверьте сайт бесплатно в WP Lens

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

Анализ Noroxi

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

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

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

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

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

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

—

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

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

  • ci4-cms-erp ci4ms

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

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
Packagistci4-cms-erp/ci4msдо 0.31.9.00.31.9.0

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

ci4-cms-erp: все записи

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

  • CVE-2026-39394CI4MS has an .env CRLF Injection via Unvalidated `host` Parameter in Install Controller
    39Наблюдать
  • CVE-2026-41203ci4ms Theme::upload is vulnerable to Zip Slip leading to RCE
    37Наблюдать
  • CVE-2026-41202ci4ms Backup::restore is vulnerable to Zip Slip leading to RCE
    37Наблюдать
  • CVE-2026-34989CI4MS affected by Profile & User Management Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS
    37Наблюдать
  • CVE-2026-41201CI4MS: Backup Management Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM Blind XSS Version 2
    36Наблюдать
  • CVE-2026-35035CI4MS Company Information Public-Facing Page Full Platform Compromise & Full Account Takeover for All Roles & Privilege-Escalation via System Settings Company I
    36Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
Packagist:ci4-cms-erp/ci4ms0.31.9.0Реестр пакетов (OSV)

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

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

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

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

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

Хронология

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

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

EPSS за 120 дней

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

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

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

Среди источников нет ссылок на коммит или PR.

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

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

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

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

  • CVE-2026-34989с разницей 104 дн.CI4MS affected by Profile & User Management Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS
    37Наблюдать
  • CVE-2026-41201с разницей 73 дн.CI4MS: Backup Management Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM Blind XSS Version 2
    36Наблюдать
  • CVE-2026-35035с разницей 104 дн.CI4MS Company Information Public-Facing Page Full Platform Compromise & Full Account Takeover for All Roles & Privilege-Escalation via System Settings Company I
    36Наблюдать
  • CVE-2026-34560с разницей 109 дн.CI4MS: Logs Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS
    36Наблюдать
  • CVE-2026-34569с разницей 109 дн.CI4MS: Blogs Categories Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS
    36Наблюдать
  • CVE-2026-34571с разницей 109 дн.CI4MS: Stored Cross‑Site Scripting (Stored XSS) in Backend User Management Allows Session Hijacking and Full Administrative Account Compromise
    36Наблюдать

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

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

—

Охват bug bounty

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

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

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

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

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

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

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

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

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

Вектор CVSS

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

nvd-secondary

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

Пользовательский контент вставляется в страницу как HTML. Браузер интерпретирует его как код, а не как данные.

Ошибка в коде

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

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

Уязвимый код

ts
commentEl.innerHTML = comment.body;

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

ts
commentEl.textContent = comment.body;

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

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

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

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

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

Источники

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

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

Все записи