Эксплуатация проблемы позволяет злоумышленнику выполнить код на системе с правами суперпользователя.
Исследователи безопасности из Unit 42 компании Palo Alto Networks опубликовали PoC-код для критической уязвимости в программном обеспечении Docker. Уязвимость CVE-2019-14271 затрагивает реализацию в Docker команды «cp» (copy) и ее эксплуатация позволяет злоумышленнику выполнить код на системе с правами суперпользователя.
«Уязвимость может быть проэксплуатирована при условии, что контейнер ранее был скомпрометирован при помощи другой атаки (например, из-за другой уязвимости, утечки данных и пр.). Или когда пользователь запускает образ вредоносного контейнера из ненадежного источника (реестра)», — поясняют исследователи.
Если пользователь выполнит команду «cp» для копирования файлов из скомпрометированного контейнера, злоумышленник сможет осуществить побег из окружения контейнера и перехватить контроль над хостом и другими контейнерами на нем.
Исследователи рекомендуют пользователям Docker никогда не запускать ненадежные образы и запускать контейнеры без прав суперпользователя, если они не нужны.
«Если вы запускаете контейнер без прав суперпользователя, вы защищены. Даже если злоумышленник скомпрометирует ваш контейнер, он не сможет перезаписать libnss-библиотеки, так как для них нужно иметь права суперпользователя, и он не сможет проэксплуатировать уязвимость», — отмечают исследователи.
Хотя разработчики Docker устранили уязвимость в версии Docker 19.03.1 еще в июле нынешнего года, некоторые пользователи могли не обратить внимание на патч «из-за неоднозначного описания CVE и отсутствия опубликованного эксплоита».