В сфере информационной безопасности очередной раз подтвердилась истина, что самые серьезные угрозы часто скрываются в неожиданных местах. Исследователи из компании SnapSec обнаружили критическую уязвимость типа stored Cross-Site Scripting (XSS) в корпоративной платформе Jira Work Management от компании Atlassian. Эта платформа является одним из ключевых инструментов для управления проектами, отслеживания задач и рабочих процессов в тысячах компаний по всему миру. Однако, как выяснилось, незначительная ошибка валидации входных данных в одном из меню настроек открыла путь для атаки, способной привести к полному захвату административного контроля над организацией.
Детали уязвимости
Суть проблемы кроется в, казалось бы, безобидной функции настройки пользовательских приоритетов задач. В Jira каждая задача или инцидент имеет поле "Приоритет" с такими стандартными значениями, как "Высокий", "Средний" и "Низкий". При этом администраторам системы доступна возможность создавать собственные приоритеты, которые лучше соответствуют внутренним бизнес-процессам компании. В частности, к каждому такому приоритету можно привязать ссылку на иконку, которая будет отображаться в интерфейсе.
Исследователи обнаружили, что пользователь с правами администратора продукта (Product Admin) - ролью, которая обычно считается ограниченной и не дающей доступа к критически важным настройкам всей экосистемы Atlassian, - может создать новый пользовательский приоритет и внедрить вредоносный код JavaScript в свойство "URL иконки". Платформа не выполняла надлежащей проверки входных данных на стороне сервера и не применяла кодирование выходных данных, что позволяло зловредному скрипту быть сохраненным в базе данных. Впоследствии этот скрипт автоматически выполнялся в браузере любого пользователя, который посещал страницу конфигурации приоритетов.
Особенность данной stored XSS-уязвимости делает ее особенно коварной. В отличие от reflected XSS (отраженного межсайтового скриптинга), где жертве необходимо перейти по специально подготовленной ссылке, здесь вредоносная нагрузка ждет свою жертву в самом интерфейсе системы. Атака является пассивной и не требует от злоумышленника дополнительных действий после первоначальной настройки ловушки. Главной мишенью в данном сценарии становятся пользователи с наивысшими привилегиями, такие как Супер-администраторы, которые периодически проверяют или изменяют системные настройки.
В ходе демонстрации исследователи показали, как может развиваться такая атака. Злоумышленник, действуя под учетной записью администратора продукта, создает приоритет с вредоносным скриптом в URL иконки. Когда Супер-администратор заходит на страницу управления приоритетами, скрипт автоматически исполняется в его браузере в доверенном контексте сессии с максимальными правами. В доказательство концепции использовался скрипт, который тайно, без ведома жертвы, отправлял системный запрос на добавление в организацию нового пользователя, контролируемого атакующим, с полными административными правами.
Таким образом, в один момент злоумышленник получает возможность просматривать, создавать, изменять и удалять проекты, получать доступ к конфиденциальным данным и управлять настройками всей платформы Jira Work Management, а потенциально и связанных продуктов Atlassian. Что начиналось как минимальное изменение конфигурации пользователем с ограниченными правами, мгновенно эскалировало в полный компромисс административного контроля над корпоративным инструментом.
Это открытие служит суровым напоминанием для всех компаний, использующих сложные корпоративные платформы. Во-первых, оно разбивает распространенное предположение о том, что ограниченный доступ пользователя к определенным функциям автоматически минимизирует риски для безопасности всей системы. Уязвимость может скрываться в самом неожиданном модуле, доступном такому пользователю. Во-вторых, инцидент подчеркивает критическую важность строгой валидации и санитизации всех без исключения входных данных на стороне сервера, особенно в административных панелях и интерфейсах конфигурации, которые по умолчанию считаются доверенными.
Для специалистов по кибербезопасности данный случай является ярким примером необходимости регулярного аудита моделей контроля доступа. Требуется тщательно анализировать, могут ли комбинации, казалось бы, незначительных разрешений, предоставленных пользователю, в сумме привести к критическим последствиям. Кроме того, это еще один аргумент в пользу принципа минимальных привилегий и постоянного мониторинга необычной активности, особенно связанной с изменением системных настроек. Уязвимость, уже устранена Atlassian, и компаниям настоятельно рекомендуется немедленно обновить свои экземпляры Jira до актуальных версий, чтобы закрыть эту опасную брешь в защите.
Ссылки