Потребителите на Linux във вторник получиха голяма доза лоши новини – 12-годишна уязвимост в системен инструмент, наречен Polkit, дава на атакуващите неограничени root привилегии на машини, работещи с повечето основни дистрибуции на операционната система с отворен код.
По-рано наричан PolicyKit, Polkit управлява привилегии за цялата система в Unix-подобни операционни системи. Той осигурява механизъм за непривилегировани процеси за безопасно взаимодействие с привилегировани процеси. Той също така позволява на потребителите да изпълняват команди с високи привилегии, като използват компонент, наречен pkexec, последван от командата.
Тривиален за използване и 100 процента надежден
Както повечето операционни системи, Linux предоставя йерархия от нива на разрешения, които контролират кога и какви приложения или потребители могат да взаимодействат с чувствителни системни ресурси. Дизайнът има за цел да ограничи щетите, които могат да се случат, ако потребителят няма доверие да има административен контрол върху мрежа или ако приложението е хакнато или злонамерено.
От 2009 г. pkexec съдържа уязвимост, повреждаща паметта, която хората с ограничен контрол върху уязвима машина могат да използват, за да ескалират привилегиите чак до root. Използването на недостатъка е тривиално и, според някои сметки, 100 процента надеждно. Нападателите, които вече имат достъп до уязвима машина, могат да злоупотребят с уязвимостта, за да осигурят изпълнение на злонамерен полезен товар или команда с най-високите налични системни права. PwnKit, както изследователите наричат уязвимостта, също може да се използва, дори ако самият демон на Polkit не работи.
PwnKit беше открит от изследователи от фирмата за сигурност Qualys през ноември и беше разкрит във вторник, след като беше коригиран в повечето Linux дистрибуции. PwnKit се проследява като CVE-2021-4034.
В имейл директорът на Qualys за изследване на заплахи за уязвимости Бхарат Джоги написа:
Jogi каза, че експлойтите изискват локален удостоверен достъп до уязвимата машина и не могат да бъдат стартирани дистанционно без такова удостоверяване. Ето видео на експлойта в действие.
Засега Qualys не пуска код за експлойт с доказателство за концепцията от опасения, че кодът ще се окаже по-голяма полза за черните шапки, отколкото за защитниците. PoC кодът беше пуснат от друг източник и изследователите казаха, че е само въпрос на време PwnKit да бъде използван в дивата природа.
„Очакваме, че експлойтът скоро ще стане публично достояние и че нападателите ще започнат да го експлоатират – това е особено опасно за всяка многопотребителска система, която позволява достъп до shell на потребителите“, Боян Здрня, тестер за проникване и манипулатор в SANS , написа. Изследователят каза, че успешно е пресъздал експлойт, който работи на машина, работеща с Ubuntu 20.04.
Изследователите на Qualys не са единствените, които се натъкват на тази уязвимост или поне на много подобна грешка. През 2013 г. изследователят Райън Малън публично съобщи почти за същия бъг и дори написа кръпка, въпреки че в крайна сметка не можа да намери начин да използва уязвимостта. Миналия юни изследователят по сигурността на Github Кевин Бекхаус също съобщи за уязвимост при ескалация на привилегии. Той получи обозначението за проследяване на CVE-2021-3560 и корекция от големи дистрибутори на Linux.
Големи дистрибутори на Linux пуснаха корекции за уязвимостта и специалистите по сигурността настоятелно призовават администраторите да дадат приоритет на инсталирането на корекцията. Тези, които не могат да направят корекция веднага, трябва да използват командата chmod 0755 /usr/bin/pkexec
, за да премахнат SUID-бита от pkexec, който не му позволява да работи като root, когато се изпълнява от непривилегирован потребител . Съвети от Debian, Ubuntu и Red Hat са тук, тук и тук.
Онези, които искат да разберат дали уязвимостта е била използвана в техните системи, могат да проверят за записи в журнала, които казват или „Стойността за променливата SHELL не е намерена във файла /etc/shells“ или „Стойността за променливата на средата [ …] съдържа подозрително съдържание.“ Qualys обаче предупреди хората, че PwnKit също може да се използва, без да оставя никакви следи.