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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-24688 — POC для CVE-2026-24688 | Kitploit
Инструменты/GitHubGitHub/fomovet/cve-2026-24688
Анализ уязвимостейАнализ КодаЭксплуатацияФаззингОбучение и Образование
GitHubfomovet/cve-2026-24688

cve-2026-24688

POC для CVE-2026-24688

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

Популярное

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

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

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

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

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

CVE-2026-24688 - pypdf - Уязвимость DoS из-за циклических ссылок

Этот репозиторий содержит код proof-of-concept для воспроизведения CVE-2026-24688.

Сводка

Критическая уязвимость типа «отказ в обслуживании» (Denial of Service) в логике pypdf, отвечающей за разбор оглавления (закладок). При обработке PDF-файла с циклическими ссылками в оглавлении парсер входит в бесконечный цикл, который непрерывно выделяет память, потребляя сотни МБ памяти в секунду на моей машине (TM), и приводит к полному краху системы.

Это системный уровень DoS, а не просто зависание приложения.


Содержимое

  • malicious_circular_outline.pdf - эксплуатирующий PDF с циклическим оглавлением (754 байта)
  • create_malicious_pdf.py - скрипт для генерации эксплуатирующего PDF
  • simple_read_pdf.py - простой тестовый скрипт для воспроизведения уязвимости
  • test_pypdf.sh - автоматический тестовый скрипт (устанавливает pypdf и запускает тест)
  • README.md - этот файл

ПРЕДУПРЕЖДЕНИЕ: Эти тесты могут обрушить вашу систему, если вы не следите за потреблением памяти и не отмените их вовремя.

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

Автоматический тест (НЕБЕЗОПАСНО)

root@kitploit:~
# Run the automated test script (with timeout protection)
chmod +x test_pypdf.sh
./test_pypdf.sh

# This will:
# 1. Install the vulnerable version of pypdf
# 2. Run test with 15-second timeout
# 3. Show memory consumption behavior

Ручные тесты

Тест 1: Контролируемый тест (10 секунд с тайм-аутом)

root@kitploit:~
# Install pypdf (vulnerable version 6.6.0)
pip install "pypdf==6.6.0"

# Run with timeout
timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf

Тест 2: Полный тест на крах (НЕБЕЗОПАСНО)

root@kitploit:~
# Install pypdf (vulnerable version 6.6.0)
pip install "pypdf==6.6.0"

# Run without timeout
python3 simple_read_pdf.py malicious_circular_outline.pdf

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

Уязвимый код

Расположение: pypdf/_doc_common.py - _get_outline() метод (строки 858-873)

root@kitploit:~
def _get_outline(self, node, outline=None):
    while True:  # ❌ NO cycle detection!
        outline_obj = self._build_outline_item(node)
        if outline_obj:
            outline.append(outline_obj)  # ❌ Heap allocation in loop!
        
        if "/Next" not in node:
            break
        node = node["/Next"]  # ❌ Follows circular references

Корневая причина: нет множества посещённых узлов, нет ограничения итераций, непрерывное выделение памяти


Воздействие

Подтверждённые результаты тестов

Реальный тест:

  • Результат: крах системы, потребовалась жёсткая перезагрузка
  • Время: ~5 минут до полного отказа системы ()
  • Память: потреблено более 30 ГБ
  • CPU: все ядра загружены на 100% (thrashing системы)

Характеристики атаки:

  • ✅ 100% CPU (немедленно)
  • ✅ Линейный рост потребления памяти
  • ✅ Отказ всей системы
  • ✅ Требуется жёсткая перезагрузка
  • ✅ Возможна потеря данных

Исправление

Исправлено в версии 6.6.2

https://github.com/py-pdf/pypdf/security/advisories/GHSA-2q4j-m29v-hq73