h2oGPT до 0.2.1 содержит уязвимость обхода пути в OpenAI-совместимом файловом API, которая позволяет неаутентифицированным удаленным злоумышленникам читать, записывать и удалять произвольные файлы, доступные серверному процессу, предоставляя последовательности обхода в токене-носителе. Функция get_user_dir в openai_server/backend_utils.py использует необработанную строку токена-носителя в качестве компонента пути через os.path.join, а поскольку ключ API по умолчанию — EMPTY, аутентификация обходится, позволяя злоумышленникам выходить за пределы предполагаемого каталога пользователя через содержимое файла, удалять и загружать конечные точки для достижения удаленного выполнения кода путем записи в перехватчики запуска или в файлы, загружаемые приложением.
Показать оригинальное описание (EN)
h2oGPT through 0.2.1 contains a path traversal vulnerability in the OpenAI-compatible files API that allows unauthenticated remote attackers to read, write, and delete arbitrary files accessible to the server process by supplying traversal sequences in the bearer token. The get_user_dir function in openai_server/backend_utils.py uses the bearer token string unsanitized as a path component via os.path.join, and because the default API key is EMPTY authentication is bypassed, enabling attackers to traverse outside the intended user directory through the file content, delete, and upload endpoints to achieve remote code execution by writing to startup hooks or application-loaded files.
Характеристики атаки
Последствия
Строка CVSS v4.0