💀 Hidden Layer провели исследование на уязвимости платформы ClearML. Эта платформа позволяет выстроить процесс CI/CD в контексте разработки машинного обучения.



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



[подробный тык]



Что за вулны и к какому импакту это может привести ?



Уязвимости для ClearMl пакета, который устанавливается на клиентской части.




CVE-2024-24590: Pickle Load on Artifact Get



Приводит к RCE на хосте с ClearML.

(Перекрывается патчем >1.7.0)



CVE-2024-24591: Path Traversal on File Download



Path Traversal, который позволяет злоумышленнику внести изменения в датасет, который используется для обучения.

(Перекрывается патчем 1.14.2 )



Также были обнаружены уязвимости для ClearML Server.



CVE-2024-24592: Improper Auth Leading to Arbitrary Read-Write Access



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



CVE-2024-24593: Cross-Site Request Forgery in ClearML Server



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

(Перекрывается патчем 1.14.2 )



CVE-2024-24594: Web Server Renders User HTML Leading to XSS



Когда пользователи отправляют артефакт, они могут добавлять образцы в виде картинок, отображаемые во вкладке "Debug Samples". Отправляя картинку, пользователь может указать URL вместо загрузки изображения. Если URL заканчивается расширением .html, веб-сервер загружает HTML-страницу как доверенные данные. HTML-код отмечается как безопасный с помощью функции bypassSecurityTrustResourceUrl и выполняется на странице, что позволяет произвольному JavaScript-коду запускаться в браузере любого пользователя, просматривающего вкладку "Debug Samples".



CVE-2024-24595: Credentials Stored in Plaintext in MongoDB Instance



ClearML Server MongoDB хранит данные пользователя plaintext'ом. Для получения кредов можно использовать, к примеру, mongosh.



В видео демонстрируются некоторые PoC, которые написаны на python.



Обнаружить в сети инстансы с ClearML можно при помощи:



Shodan query: http.title:clearml

ZoomEye query: app:"ClearML"

Fofa query: "clearml" && icon_hash="1356614944"