Father
Professional
- Messages
- 2,602
- Reaction score
- 760
- Points
- 113
В онлайн-системе выполнения кода с открытым исходным кодом Judge0 было обнаружено множество критических недостатков безопасности, которые могут быть использованы для обеспечения выполнения кода в целевой системе.
Три уязвимости, все критические по своей природе, позволяют "злоумышленнику с достаточным доступом выполнить выход из изолированной среды и получить root-права на хост-компьютере", - говорится в отчете австралийской фирмы по кибербезопасности Tanto Security, report опубликованном сегодня.
Judge0 (произносится как "judge zero") описывается ее сопровождающими как "надежная, масштабируемая система онлайн-выполнения кода с открытым исходным кодом", которая может использоваться для создания приложений, требующих функций онлайн-выполнения кода, таких как оценка кандидатов, электронное обучение, онлайн-редакторы кода и IDE.
Согласно веб-сайту Judge0, сервисом пользуются 23 клиента, среди которых AlgoDaily, CodeChum и PYnative. На сегодняшний день проект разветвлялся на GitHub 412 раз.
Ниже перечислены недостатки, обнаруженные и сообщенные Дэниелом Купером в марте 2024 года -
В частности, это влечет за собой создание символической ссылки в каталоге перед настройкой bash-скрипта для выполнения программы на основе языка отправки, чтобы он позволял выполнять запись в произвольный файл в системе без отправки.
Субъект угрозы может использовать этот недостаток для перезаписи сценариев в системе и добиться выполнения кода за пределами изолированной среды и в контейнере Docker, выполняющем задание отправки.
Более того, злоумышленник может повысить свои привилегии за пределами контейнера Docker из-за того, что он запускается с использованием привилегированного флага, как указано в docker-compose.yml.
"Это позволит злоумышленнику смонтировать файловую систему хоста Linux, а затем злоумышленник сможет записывать файлы (например, вредоносное задание cron), чтобы получить доступ к системе", - сказал Герман Дошилович из Judge0.
"С этого момента злоумышленник будет иметь полный доступ к системе Judge0, включая базу данных, внутренние сети, веб-сервер Judge0 и любые другие приложения, запущенные на хосте Linux".
CVE-2024-29021, с другой стороны, имеет отношение к конфигурации, которая позволяет взаимодействовать с базой данных PostgreSQL Judge0, доступной во внутренней сети Docker, что позволяет злоумышленнику использовать SSRF для подключения к базе данных и изменения типа данных соответствующих столбцов и, в конечном итоге, добиться внедрения команды.
После ответственного раскрытия недостатки были устранены в версии 1.13.1, выпущенной 18 апреля 2024 года. Пользователям Judge0 рекомендуется обновиться до последней версии, чтобы уменьшить потенциальные угрозы.
Три уязвимости, все критические по своей природе, позволяют "злоумышленнику с достаточным доступом выполнить выход из изолированной среды и получить root-права на хост-компьютере", - говорится в отчете австралийской фирмы по кибербезопасности Tanto Security, report опубликованном сегодня.
Judge0 (произносится как "judge zero") описывается ее сопровождающими как "надежная, масштабируемая система онлайн-выполнения кода с открытым исходным кодом", которая может использоваться для создания приложений, требующих функций онлайн-выполнения кода, таких как оценка кандидатов, электронное обучение, онлайн-редакторы кода и IDE.
Согласно веб-сайту Judge0, сервисом пользуются 23 клиента, среди которых AlgoDaily, CodeChum и PYnative. На сегодняшний день проект разветвлялся на GitHub 412 раз.
Ниже перечислены недостатки, обнаруженные и сообщенные Дэниелом Купером в марте 2024 года -
- CVE-2024-28185 (Оценка CVSS: 10.0) - Приложение не учитывает символические ссылки, размещенные внутри каталога изолированной среды, которые могут быть использованы злоумышленником для записи в произвольные файлы и обеспечения выполнения кода за пределами изолированной среды.
- CVE-2024-28189 (оценка CVSS: 10.0) - Обходное исправление для CVE-2024-28185, вызванное использованием UNIX команды chown для ненадежного файла в изолированной среде. Злоумышленник может злоупотребить этим, создав символическую ссылку на файл за пределами изолированной среды, позволяя злоумышленнику запускать chown для произвольных файлов за пределами изолированной среды.
- CVE-2024-29021 (Оценка CVSS: 9.1) - Конфигурация Judge0 по умолчанию делает службу уязвимой для выхода из изолированной среды через подделку запросов на стороне сервера (SSRF). Это позволяет злоумышленнику, имеющему достаточный доступ к API Judge0, получить возможность выполнения кода без обработки в качестве root на целевой машине.
В частности, это влечет за собой создание символической ссылки в каталоге перед настройкой bash-скрипта для выполнения программы на основе языка отправки, чтобы он позволял выполнять запись в произвольный файл в системе без отправки.
Субъект угрозы может использовать этот недостаток для перезаписи сценариев в системе и добиться выполнения кода за пределами изолированной среды и в контейнере Docker, выполняющем задание отправки.
Более того, злоумышленник может повысить свои привилегии за пределами контейнера Docker из-за того, что он запускается с использованием привилегированного флага, как указано в docker-compose.yml.
"Это позволит злоумышленнику смонтировать файловую систему хоста Linux, а затем злоумышленник сможет записывать файлы (например, вредоносное задание cron), чтобы получить доступ к системе", - сказал Герман Дошилович из Judge0.
"С этого момента злоумышленник будет иметь полный доступ к системе Judge0, включая базу данных, внутренние сети, веб-сервер Judge0 и любые другие приложения, запущенные на хосте Linux".
CVE-2024-29021, с другой стороны, имеет отношение к конфигурации, которая позволяет взаимодействовать с базой данных PostgreSQL Judge0, доступной во внутренней сети Docker, что позволяет злоумышленнику использовать SSRF для подключения к базе данных и изменения типа данных соответствующих столбцов и, в конечном итоге, добиться внедрения команды.
После ответственного раскрытия недостатки были устранены в версии 1.13.1, выпущенной 18 апреля 2024 года. Пользователям Judge0 рекомендуется обновиться до последней версии, чтобы уменьшить потенциальные угрозы.