За кулисами проекта открытой платформы Spotify для создания порталов для разработчиков была обнаружена уязвимость высокой степени опасности, которая позволяла потенциальным злоумышленникам удаленно выполнять неаутентифицированный код в проекте. Уязвимость была обнаружена поставщиками облачных приложений безопасности Oxeye и позже исправлена ​​Spotify.

Пользователям рекомендуется обновить Backstage до версии 1.5.1, которая решает проблему.

Объясняя, как они обнаружили уязвимость, исследователи Oxeye сказали, что они использовали обход песочницы виртуальной машины через стороннюю библиотеку vm2, что позволило им выполнять удаленный код без проверки подлинности.

Атаки на основе шаблонов

«Используя обход «песочницы» vm2 в основном плагине Scaffolder, который используется по умолчанию, хакеры, не прошедшие проверку подлинности, могут выполнять произвольные системные команды в приложении Backstage», — сказал Юваль Островский, архитектор программного обеспечения в Oxeye. «Критические уязвимости в облачных приложениях, подобные этой, становятся все более распространенными, и очень важно, чтобы эти проблемы устранялись без промедления».

«Что привлекло наше внимание в этом случае, так это шаблоны программного обеспечения Backstage и возможность атак на основе шаблонов», — сказал Даниэль Абелес, руководитель отдела исследований Oxeye. «Глядя на то, как снизить этот риск, мы заметили, что механизм шаблонов можно манипулировать для запуска команд оболочки с использованием управляемых пользователем шаблонов с Nunjucks вне среды песочницы.

Цель Backstage — оптимизировать среду разработки за счет объединения всех инфраструктурных инструментов, сервисов и документации. По словам Oxeye, у него более 19 000 звезд на GitHub, что делает его одной из самых популярных платформ с открытым исходным кодом для создания порталов для разработчиков. Spotify, American Airlines, Netflix, Splunk, Fidelity Investments, Epic Games и Palo Alto Networks — это лишь некоторые из компаний, которые используют Backstage.

Объясняя проблему и возможные решения более подробно, исследователи сказали, что корень побега виртуальной машины на основе шаблона смог получить права на выполнение JavaScript в шаблоне. Было объяснено, что нелогичные шаблонизаторы, такие как Mustache, предотвращают внедрение шаблонов на стороне сервера, тем самым устраняя проблему.

«Если вы используете механизм шаблонов в приложении, убедитесь, что вы выбрали правильный с точки зрения безопасности. Надежные механизмы шаблонов чрезвычайно полезны, но они могут представлять риск для организации», — сказал Галь Гольдштейн, старший исследователь безопасности в Oxeye. «Если вы используете Backstage, мы настоятельно рекомендуем вам как можно скорее обновиться до последней версии, чтобы защититься от этой уязвимости».

Поделиться