Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
PoC
Опубликована

CVE-2026-113654

ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting content render

Публикация: 20.10.2026·Обновлена: 28.10.2026, 17:16·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. Prior to sanitize-html 2.18.0, a non-default nonTextTags configuration that includes noscript can end its discard region early when htmlparser2 emits an implied ancestor close inside noscript. Because scripting-enabled browsers treat noscript content as raw text while the parser does not model that mode, content intended to remain inert can survive sanitization and render; the issue does not generalize to every default nonTextTags element. This issue is fixed in sanitize-html 2.18.0.

Что это значит

Входные данные могут попасть в страницу как активное содержимое. При выполнении условий атаки это затрагивает пользователей приложения.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

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

Общая рекомендация, не из бюллетеня вендора

3. Временные меры

До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.

Общая рекомендация, не из бюллетеня вендора

4. Проверьте следы эксплуатации

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

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

apostrophecms / apostrophe

{
  "status": "affected",
  "version": "< 4.33.0"
}

apostrophecms / sanitize-html

{
  "status": "affected",
  "version": "< 2.18.0"
}

sanitize-html npm

{
  "status": "affected",
  "version": "*",
  "versionEndExcluding": "2.18.0"
}

CVSS: оценки и векторы

CVSS 4.0 · cve5.3
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
AV · Вектор атакисеть
AC · Сложность атакинизкая
AT · Условия атакидополнительные условия не нужны
PR · Привилегиинизкие
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системынизкое
VI · Целостность уязвимой системынизкое
VA · Доступность уязвимой системынизкое
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
CVSS 4.0 · security-advisories@github.com5.3
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
AV · Вектор атакисеть
AC · Сложность атакинизкая
AT · Условия атакидополнительные условия не нужны
PR · Привилегиинизкие
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системынизкое
VI · Целостность уязвимой системынизкое
VA · Доступность уязвимой системынизкое
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
E · Eзначение X; см. спецификацию CVSS
CR · CRзначение X; см. спецификацию CVSS
IR · IRзначение X; см. спецификацию CVSS
AR · ARзначение X; см. спецификацию CVSS
MAV · MAVзначение X; см. спецификацию CVSS
MAC · MACзначение X; см. спецификацию CVSS
MAT · MATзначение X; см. спецификацию CVSS
MPR · MPRзначение X; см. спецификацию CVSS
MUI · MUIзначение X; см. спецификацию CVSS
MVC · MVCзначение X; см. спецификацию CVSS
MVI · MVIзначение X; см. спецификацию CVSS
MVA · MVAзначение X; см. спецификацию CVSS
MSC · MSCзначение X; см. спецификацию CVSS
MSI · MSIзначение X; см. спецификацию CVSS
MSA · MSAзначение X; см. спецификацию CVSS
S · Область воздействиязначение X; см. спецификацию CVSS
AU · AUзначение X; см. спецификацию CVSS
R · Rзначение X; см. спецификацию CVSS
V · Vзначение X; см. спецификацию CVSS
RE · REзначение X; см. спецификацию CVSS
U · Uзначение X; см. спецификацию CVSS

Источники и ссылки

Происхождение полей
{
  "cwes": [
    "cve",
    "nvd"
  ],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-04T21:14:30.312542+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-10-28T17:40:04.312907+00:00"
  },
  "scores": [
    "cve",
    "nvd"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-10-28T17:40:04.312907+00:00"
  },
  "affected": [
    "cve",
    "osv"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-10-28T17:40:04.312907+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-04T21:14:30.312542+00:00"
  },
  "references": [
    "cve",
    "nvd",
    "osv"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-10-28T17:40:04.312907+00:00"
  },
  "workarounds": [],
  "configurations": []
}

Хронология записи

  1. Данные обновлены05.11.2026, 00:14
  2. Данные обновлены04.11.2026, 00:11
  3. Данные обновлены03.11.2026, 00:11
  4. Данные обновлены02.11.2026, 15:16
  5. Данные обновлены02.11.2026, 00:09
  6. Данные обновлены31.10.2026, 11:57
  7. Данные обновлены30.10.2026, 16:50
  8. Появилась ссылка на PoC28.10.2026, 20:40
  9. Данные обновлены28.10.2026, 18:05
  10. Опубликована28.10.2026, 17:59

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-63667
ApostropheCMS: Arbitrary file read via import-export attachment-name path traversal
apostrophecms / apostrophe · @apostrophecms/import-export
Высокий6.5
0,47 %
PoCПатч
17.08.2026
CVE-2026-71553
ApostropheCMS: 2nd-order prototype pollution via PATCH leading to single-request persistent DoS
apostrophecms / apostrophe · apostrophe
Высокий7.1
0,43 %
Патч
17.08.2026
CVE-2026-113665
ApostropheCMS: Missing Authorization on Notification PATCH/DELETE Endpoints
apostrophecms / apostrophe · apostrophe
Средний3.7
0,35 %
PoC
20.10.2026
CVE-2026-113659
ApostropheCMS: Client-side Prototype Pollution in apos.http.parseQuery leading to DOM-based XSS against authenticated users
apostrophecms / apostrophe · apostrophe
Средний6.1
0,35 %
20.10.2026
CVE-2026-113650
ApostropheCMS sanitize-html: unbounded recursion when re-sanitizing the fallback of a discarded iframe (stack overflow, nestingLimit not enforced)
apostrophecms / apostrophe · apostrophecms / sanitize-html
Высокий5.3
0,48 %
PoC
20.10.2026
CVE-2026-113654: ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting content render · CVE Радар