
PoC for CVE-2024-22393: Pixel Flood DoS in Apache Answer ≤1.2.1. Upload crafted 5KB image with fake 64Kx64K dimensions. Server allocates memory for 4B+ pixels and crashes. Find targets via "Powered by Apache Answer." Check bounty program rules before testing—DoS testing is often prohibited.
Pixel Flood баг для веб-серверов
Легковесное Proof-of-Concept для тестирования уязвимости исчерпания памяти Pixel Flood в веб-приложениях, работающих на уязвимых версиях Apache Answer.
Этот репозиторий содержит Proof-of-Concept для CVE-2024-22393 — критической уязвимости в Apache Answer (версии до 1.2.1), которая позволяет аутентифицированным атакующим вызвать сбой сервера с помощью специально созданного файла изображения. Эта атака также известна как «Pixel Flood» или «Image Dimension DoS».
| Поле | Детали |
|---|---|
| CVE ID | CVE-2024-22393 |
| CVSS Score | 9.1 (Critical) |
| CWE | CWE-434 (Unrestricted Upload) |
| Вектор атаки | Remote |
| Требуемые привилегии | Low (Authenticated User) |
| Воздействие | Denial of Service (Memory Exhaustion) |
Эксплойт работает путём загрузки крошечного изображения (около 5 КБ) с подделанными метаданными EXIF, содержащими огромные размеры (например, 64 250 × 64 250 пикселей). Когда уязвимый сервер пытается обработать это изображение, он пытается выделить память для более чем 4,1 миллиарда пикселей, что приводит к полному исчерпанию памяти и краху приложения.
Этот репозиторий содержит вредоносный файл изображения (pixel-flood.jpg), созданный для провоцирования ошибки исчерпания памяти.
Определите цель — найдите сайты, работающие на Apache Answer
"Powered by Apache Answer" или inurl:/questions intitle:"Apache Answer"Аутентифицируйтесь — войдите в систему с действующей учётной записью
Загрузите — перейдите к любой функции загрузки изображений и загрузите pixel-flood.jpg
Проверьте — отслеживайте ответ сервера
Задокументируйте — соберите доказательства для отчёта
# Использование cURL (настройте конечную точку по необходимости)
curl -X POST -F "[email protected]" https://target-site.com/api/upload -b "session=cookie"