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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-7482-PoC — Эксплойт proof-of-concept для CVE-2026-7482 — неаутентифицированное чтение за пределами кучи в загрузчике GGUF в Ollama, демонстрирующее эксфильтрацию памяти через специально созданный файл модели. | Kitploit
Инструменты/GitHubGitHub/0x0oz/cve-2026-7482-poc
Анализ уязвимостейЭксплуатацияВеб-безопасностьАнализ Бинарных ФайловОбучение и Образование
GitHub0x0oz/cve-2026-7482-poc

CVE-2026-7482-PoC

Эксплойт proof-of-concept для CVE-2026-7482 — неаутентифицированное чтение за пределами кучи в загрузчике GGUF в Ollama, демонстрирующее эксфильтрацию памяти через специально созданный файл модели.

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

Популярное

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

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

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

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

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

CVE-2026-7482: Выход за границы кучи при чтении в Ollama (1-Day PoC)

Этот репозиторий содержит 1-day Proof of Concept (PoC) цепочку эксплуатации для CVE-2026-7482 — неаутентифицированную уязвимость чтения за пределами границ (OOB Read) в загрузчике моделей GGUF в Ollama (версии до 0.17.1).

Примечание: Это 1-day исследовательская репродукция. Я не обнаруживал исходную CVE. Данный PoC был разработан на основе публичного advisory для демонстрации механики уязвимости в образовательных и защитных исследовательских целях.

Обзор уязвимости

Отправляя специально созданный, усечённый файл GGUF на конечную точку /api/create, злоумышленник может заставить парсер квантования в fs/ggml/gguf.go и server/quantization.go читать за пределы выделенного буфера кучи. Утёкшая память затем эксфильтруется путём отправки полученного артефакта модели в контролируемый злоумышленником Docker registry через конечную точку /api/push.

Технические детали: Примитив эксплуатации

В ходе этого 1-day исследования воспроизведение краха было тривиальным, но достижение стабильной эксфильтрации без падения сервера или обхода блокировок API-валидации потребовало специфической архитектурной подгонки:

  1. Обход фронтенд-валидации: Полезная нагрузка должна быть помечена как F16 (general.file_type = 1), чтобы пройти строгие предварительные проверки Ollama API.
  2. Принуждение квантователя: Мы запрашиваем понижающее квантование Q4_K_M. Поскольку полезная нагрузка воспринимается как F16, C++ бэкенд ggml вынужден обрабатывать полезную нагрузку, а не выполнять безопасное копирование памяти 1:1.
  3. Идеальное выравнивание блоков: Целевой тензор (token_embd.weight) должен быть сформирован как 2D-матрица, где внутреннее измерение ровно 256 (например, [num_rows, 256]). Это строго соответствует требованиям блоков Q4_K_M, предотвращая пропуск слоя бэкендом.
  4. Физическое усечение: Физический файл усекается до 32 байт. Когда цикл умножения матриц выполняется, он достигает EOF и читает напрямую за пределы в соседнее пространство кучи.

Предварительные требования

root@kitploit:~
pip install requests numpy gguf

Вам также понадобится публично доступный HTTP-слушатель (например, Ngrok) для перехвата эксфильтрированных Docker layer push.

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

1. Запустите Rogue Registry Запустите слушатель для перехвата утёкших блоков памяти.

root@kitploit:~
sudo python3 registry.py

2. Создайте вредоносную полезную нагрузку Сгенерируйте усечённый файл GGUF. Вы можете настроить TARGET_LEAK_SIZE_MB внутри скрипта, чтобы контролировать, сколько памяти кучи извлекается за запрос. (Рекомендуется: 0.5MB до 2.0MB, чтобы избежать segfault на незамапленных страницах).

root@kitploit:~
python3 forge.py

3. Запустите эксплойт Отредактируйте exploit.py, указав IP вашей цели и URL вашего rogue registry, затем выполните:

root@kitploit:~
python3 exploit.py

4. Проанализируйте артефакт Registry сохранит дампы утёкшей кучи в каталог exfils/.

Примечание о целостности данных (Ловушка квантования): Хотя эксплойт успешно захватывает и эксфильтрирует до нескольких мегабайт памяти кучи сервера, данные подвергаются алгоритму понижающего квантования Q4_K_M Ollama во время OOB чтения. Бэкенд приводит сырые байты памяти к float16 и применяет сжатие с потерями по 4-битной блочной схеме. Следовательно, утёкшая память математически искажается. Стандартные инструменты извлечения ASCII дадут бинарный мусор, что делает восстановление открытого текста учётных данных практически невозможным через этот конкретный путь принуждения.

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

Этот проект предназначен только для образовательных и авторизованных исследований уязвимостей. Не используйте этот инструмент против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.

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