CVE-2026-101895
Angular SSR: Denial of Service (DoS) via Infinite Loop on Malformed DOCTYPE
CVSS 3.1High
8.7/ 10.0
Опубликовано
Обновлено
В атаках
Не зафиксировано
Публичный PoC
Отсутствует
Анализ подготовлен:CVE Futuretools Threat Intelligence
Верификация: MITRE CVE List · CISA KEV · NIST NVD
ПАТЧ ДОСТУПЕН: ВЕРСИЯ 20.3.31, 21.2.23, 22.1.6
Обновите пакет @angular/platform-server до версий 20.3.31, 21.2.23, 22.1.6 или выше в зависимости от используемой ветки.
01 // ТЕХНИЧЕСКАЯ СУТЬ УЯЗВИМОСТИ
Отказ в обслуживании (DoS) в модуле SSR фреймворка Angular из-за бесконечного цикла при обработке некорректного DOCTYPE. Парсер зависает на этапе разбора специально сформированного HTML.
02 // АНАТОМИЯ АТАКИ И ДЕФЕКТ ЛОГИКИ
В парсере эмуляции DOM (@angular/platform-server, файл Domino lib/HTMLParser.js) функция after_doctype_name_state генерирует токены doctype и EOF без продвижения указателя nextchar и без выхода из состояния с фиксированным просмотром вперед, если блок DOCTYPE неполон и оканчивается пробельным символом на конце ввода. Это приводит к бесконечной циклической обработке одного и того же маркера EOF.
03 // СИСТЕМНЫЕ ПОСЛЕДСТВИЯ
Блокировка потока Node.js синхронным бесконечным циклом. Удаленный неаутентифицированный атакующий может вызвать DoS сервера SSR через передачу вредоносного HTML.
04 // МАТРИЦА ЗАТРОНУТЫХ ПАКЕТОВ
angularangular
все ранние➔Патч не выпущен
angularangular
>= 20.0.0➔Fix: 20.3.31
angularangular
>= 21.0.0➔Fix: 21.2.23
angularangular
>= 22.0.0➔Fix: 22.1.6
@angular/platform-server
все ранние➔Патч не выпущен
@angular/platform-server
>= 20.0.0➔Fix: 20.3.31
@angular/platform-server
>= 21.0.0➔Fix: 21.2.23
@angular/platform-server
>= 22.0.0➔Fix: 22.1.6
——
>= 22.0.0➔Fix: 22.1.6
——
>= 21.0.0➔Fix: 21.2.23
——
>= 20.0.0➔Fix: 20.3.31
——
>= 0➔Патч не выпущен
05 // ПЕРВОИСТОЧНИКИ И БЮЛЛЕТЕНИ (7)
- github.comhttps://github.com/angular/angular/security/advisories/GHSA-f67j-2jqw-jpq7
- github.comhttps://github.com/angular/angular/commit/3db26e2544964d07a520836ad01f02f36ec88e25
- github.comhttps://github.com/angular/angular/commit/fc2e8fbc0bda2f5c11585e8a0cbd88c074f5e567
- github.comhttps://github.com/angular/domino/commit/4d97473116d000e3fd4d6f75ec98cbd67576fa6f
- github.comhttps://github.com/angular/angular/releases/tag/v20.3.31
- github.comhttps://github.com/angular/angular/releases/tag/v21.2.23
- github.comhttps://github.com/angular/angular/releases/tag/v22.1.6
06 // ЦИТИРОВАНИЕ ДАННЫХ И ИСТОЧНИК
Для включения аналитической карточки в отчёты по безопасности, матрицы рисков или исследовательские публикации используйте стандартизированный формат цитирования:
Библиографическая ссылка (Plain text)
CVE Futuretools (2026). Анализ уязвимости CVE-2026-101895: Angular SSR: Denial of Service (DoS) via Infinite Loop on Malformed DOCTYPE. URL: https://cve.futuretools.ru/cve/CVE-2026-101895
BibTeX формат (LaTeX)
@misc{cve_futuretools_cve_2026_101895,
title = {{CVE-2026-101895: Angular SSR: Denial of Service (DoS) via Infinite Loop on Malformed DOCTYPE}},
author = {{CVE Futuretools}},
year = {2026},
howpublished = {\url{https://cve.futuretools.ru/cve/CVE-2026-101895}},
note = {Оперативный инженерный анализ киберугроз}
}