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

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

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

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

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

Категории

Все категории
Loading categories
php-exploit_cve-2022-31630 — Эксплойт-концепт для CVE-2022-31630, уязвимости чтения за пределами буфера в расширении GD языка PHP. Демонстрирует аварийное завершение и раскрытие памяти в уязвимых версиях PHP. Включает лабораторную среду на базе Docker для безопасного тестирования. | Kitploit
Инструменты/GitHubGitHub/sepkascurty-cpu/php-exploit_cve-2022-31630
Анализ уязвимостейЭксплуатацияОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubsepkascurty-cpu/php-exploit_cve-2022-31630

php-exploit_cve-2022-31630

Эксплойт-концепт для CVE-2022-31630, уязвимости чтения за пределами буфера в расширении GD языка PHP. Демонстрирует аварийное завершение и раскрытие памяти в уязвимых версиях PHP. Включает лабораторную среду на базе Docker для безопасного тестирования.

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

Популярное

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

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

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

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

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

CVE-2022-31630 – Доказательство концепции эксплуатации

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


📌 Описание

CVE-2022-31630 — это уязвимость Out-of-Bounds (OOB) чтения в расширении GD PHP, а именно в функции imageloadfont(). Уязвимость позволяет атакующему, который может контролировать файл шрифта, загружаемый приложением PHP, читать данные за пределами выделенного буфера. Возможные последствия:

· Отказ в обслуживании (аварийное завершение) – приложение перестаёт отвечать. · Раскрытие информации – чувствительные данные из памяти могут быть прочитаны (например, ключи, токены или фрагменты других данных).

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

· PHP 7.4.x до 7.4.33 · PHP 8.0.x до 8.0.25 · PHP 8.1.x до 8.1.12

PHP 7.4.33 — первая версия, получившая исправление для CVE. Этот репозиторий предоставляет доказательство концепции (PoC) для демонстрации различий в поведении между уязвимой версией (≤ 7.4.32) и исправленной версией (≥ 7.4.33).


🔍 Технические детали

Уязвимость возникает из-за отсутствия проверки входных данных при чтении файла шрифта GD (формат .gdf). Файл шрифта имеет следующую структуру заголовка:

Смещение в байтахРазмер (байт)Описание
02Магическое число (0x01BE)
22Количество символов (nchars)
42Ширина символа (width) (в пикселях)
62Высота символа (height)
82Количество байтов на символ (char_offset)

Если значение width сделать очень большим (например, 65535), расчёт размера буфера для хранения битовой карты символа становится неверным. В результате выделенный буфер оказывается слишком мал. Когда функция imagechar() затем читает символ из этого шрифта, она обращается к памяти за пределами буфера — это и есть Out-of-Bounds чтение.


🧪 Требования для тестирования

· Docker (для запуска изолированной среды) · PHP версии 7.4.32 или 7.4.33 (можно использовать образы Docker php:7.4.32-cli / php:7.4.33-cli) · Расширение GD (будет установлено внутри контейнера)


🚀 Как использовать PoC

  1. Клонируйте этот репозиторий
root@kitploit:~
git clone https://github.com/sepkascurty-cpu/php-exploit_cve-2022-31630.git
cd exploit_cve-2022-31630
  1. Запустите контейнер с нужной версией PHP

Для тестирования уязвимой версии (7.4.32):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.32-cli bash

Для тестирования исправленной версии (7.4.33):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.33-cli bash
  1. Внутри контейнера установите расширение GD
root@kitploit:~
cd /app
apt-get update
apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
docker-php-ext-configure gd --with-freetype --with-jpeg
docker-php-ext-install gd
  1. Запустите эксплойт
root@kitploit:~
php exploit_cve-2022-31630.php

📊 Пример вывода

Версия PHPОжидаемый результат
7.4.32 (уязвимая)Программа аварийно завершается с Segmentation Fault или происходит утечка памяти (видны фиктивные данные из памяти).
7.4.33 (исправленная)Выполнение завершается нормально, файл output.png сохраняется, аварийных сбоев нет.

🛡️ Смягчение

· Обновите PHP до последней версии, содержащей исправление: · PHP 7.4.33 или новее · PHP 8.0.25 или новее · PHP 8.1.12 или новее · Если обновление невозможно, отключите расширение GD или функцию imageloadfont(), если они не нужны. · Применяйте принцип наименьших привилегий в приложении, чтобы минимизировать последствия утечки памяти.


📚 Ссылки

· CVE-2022-31630 на NVD · Коммит исправления в php-src · Объявления о выпуске PHP


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

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


Создано для сообщества кибербезопасности Индонезии.

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