Sploitus

Exploit for CVE-2024-39722

kitploit · 2026-08-26

Exploit Code

MARKDOWN115 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SRCX404-CVE-2024-39722
# Инструмент эксплуатации Ollama CVE-2024-39722

Этот инструмент предназначен для эксплуатации CVE-2024-39722 — уязвимости раскрытия наличия моделей в Ollama версиях до 0.1.45 включительно. Он позволяет проверить, уязвим ли сервер Ollama, и попытаться обнаружить существующие модели на сервере. Кроме того, инструмент может обходить официальную библиотеку моделей Ollama для формирования списка потенциальных моделей для тестирования. 中文

## Сведения об уязвимости

  * **CVE ID:** CVE-2024-39722
  * **Описание:** Ollama версий <= 0.1.45 уязвима к раскрытию наличия моделей. Отправляя специально сформированный запрос к конечной точке `/api/push`, злоумышленник может определить, существует ли конкретная модель (включая пользовательские модели, отсутствующие в публичной библиотеке) на сервере.
  * **Затронутые версии:** <= 0.1.45
  * **Оценка CVSS:** 7.5 (High)



## Возможности

  * **Обход библиотеки моделей Ollama:** получает список моделей из официальной библиотеки Ollama (`https://ollama.com/library`).
  * **Проверка версии:** проверяет, уязвима ли версия целевого сервера Ollama.
  * **Эксплуатация уязвимости:** пытается обнаружить существующие модели на уязвимом сервере Ollama, используя список известных имён моделей.
  * **Многопоточная эксплуатация:** использует несколько потоков для более быстрого обнаружения моделей.
  * **Вывод результатов:** сохраняет собранные и раскрытые модели в JSON-файл.



## Требования

  * Python 3.x
  * `requests`
  * `lxml`
  * `termcolor`



## Установка

  1. Клонируйте репозиторий или скачайте скрипт `CVE_2024_39722.py`.
  2. Установите требуемые пакеты Python: 

root@kitploit:~
         
         pip install requests lxml termcolor
         




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

root@kitploit:~
    
    
    python CVE_2024_39722.py [options]
    

### Параметры

  * `-h, --help`: показать справочное сообщение и выйти.
  * `-u URL, --url URL`: URL целевого сервера Ollama (например, `http://localhost:11434`).
  * `-c, --crawl`: обойти библиотеку моделей Ollama и сохранить их в `links.json`.
  * `-o OUTPUT, --output OUTPUT`: выходной файл для результатов (по умолчанию: `results.json`).
  * `-t THREADS, --threads THREADS`: количество потоков для эксплуатации (по умолчанию: 10).
  * `-v, --version-check`: только проверить, уязвим ли целевой сервер Ollama, на основе его версии.



### Примеры

  1. **Показать справку:**

root@kitploit:~
         
         python CVE_2024_39722.py -h
         

  2. **Обойти библиотеку моделей Ollama:** Этот шаг получит имена моделей с `https://ollama.com/library` и сохранит их в `links.json`.

root@kitploit:~
         
         python CVE_2024_39722.py --crawl
         

  3. **Проверить, уязвим ли целевой сервер:**

root@kitploit:~
         
         python CVE_2024_39722.py -u http://localhost:11434 --version-check
         

  4. **Эксплуатировать целевой сервер:** Сначала будет проверена версия сервера. Если она уязвима, будет использован файл `links.json` (будет выполнен обход, если файла нет, или использован существующий) для проверки наличия моделей.

root@kitploit:~
         
         python CVE_2024_39722.py -u http://localhost:11434
         

  5. **Эксплуатация с указанным количеством потоков:**

root@kitploit:~
         
         python CVE_2024_39722.py -u http://localhost:11434 -t 20
         

  6. **Эксплуатация с сохранением результатов в пользовательский файл:**

root@kitploit:~
         
         python CVE_2024_39722.py -u http://localhost:11434 -o discovered_models.json
         




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

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