CVE-2026-107378
CairoSVG: Quadratic-time DoS parsing a crafted SVG <path>
CVSS 3.1High
8.7/ 10.0
Опубликовано
Обновлено
В атаках
Не зафиксировано
Публичный PoC
Отсутствует
Анализ подготовлен:CVE Futuretools Threat Intelligence
Верификация: MITRE CVE List · CISA KEV · NIST NVD
ПАТЧ ДОСТУПЕН: ВЕРСИЯ 2.9.1
Обновите CairoSVG до версии 2.9.1 или новее.
01 // ТЕХНИЧЕСКАЯ СУТЬ УЯЗВИМОСТИ
Квадратичная асимптотика при парсинге тега <path> в CairoSVG приводит к отказу в обслуживании (DoS). Обработка специально сформированного SVG перегружает CPU.
02 // АНАТОМИЯ АТАКИ И ДЕФЕКТ ЛОГИКИ
В cairosvg/path.py парсер циклически делает срезы и повторно сканирует буфер пути, а функция draw_markers извлекает вершины вызовом node.vertices.pop(0) за линейное время. Вызовы svg2png, svg2pdf и svg2ps задействуют эти операции при штатном рендеринге.
03 // СИСТЕМНЫЕ ПОСЛЕДСТВИЯ
DoS-атака на сервер рендеринга. Входной SVG размером менее 1 МБ вызывает 100% утилизацию CPU и блокирует обработку других запросов.
04 // МАТРИЦА ЗАТРОНУТЫХ ПАКЕТОВ
KozeaCairoSVG
все ранние➔Fix: 2.9.1
——
>= 0➔Fix: 2.9.1
05 // ПЕРВОИСТОЧНИКИ И БЮЛЛЕТЕНИ (4)
- github.comhttps://github.com/Kozea/CairoSVG/security/advisories/GHSA-c3jg-qh8m-j3h2
- github.comhttps://github.com/Kozea/CairoSVG/commit/9d63f049f9988d0ddda3eb94564ac3a50a286523
- github.comhttps://github.com/Kozea/CairoSVG/commit/a4d585eb374724b79676e9cceaa9e9a1a4358565
- github.comhttps://github.com/Kozea/CairoSVG/releases/tag/2.9.1
06 // ЦИТИРОВАНИЕ ДАННЫХ И ИСТОЧНИК
Для включения аналитической карточки в отчёты по безопасности, матрицы рисков или исследовательские публикации используйте стандартизированный формат цитирования:
Библиографическая ссылка (Plain text)
CVE Futuretools (2026). Анализ уязвимости CVE-2026-107378: CairoSVG: Quadratic-time DoS parsing a crafted SVG <path>. URL: https://cve.futuretools.ru/cve/CVE-2026-107378
BibTeX формат (LaTeX)
@misc{cve_futuretools_cve_2026_107378,
title = {{CVE-2026-107378: CairoSVG: Quadratic-time DoS parsing a crafted SVG <path>}},
author = {{CVE Futuretools}},
year = {2026},
howpublished = {\url{https://cve.futuretools.ru/cve/CVE-2026-107378}},
note = {Оперативный инженерный анализ киберугроз}
}