Уязвимост в libinput, водеща до изпълнение на код при свързване на злонамерено устройство

В библиотеката libinput 1.20.1, осигуряваща унифициран стек за вход, позволяващ използването на същите средства за обработка на събития от входни устройства в среди, базирани на Wayland и X.Org, е отстранена уязвимост (CVE-2022-1215), която позволява извършването на изпълнение на собствен код при свързване към системата на специално модифицирано/емулирано входно устройство. Проблемът се проявява в среди, базирани на X.Org и Wayland, и може да бъде експлоатиран както при локално свързване на устройства, така и при манипулации с устройства с Bluetooth интерфейс. В случай, че X-сървърът работи с права root, уязвимостта позволява постигане на изпълнение на код с повишени привилегии.

Проблемът е причинен от грешка в форматирането на низ в кода, отговарящ за извеждането на информация за свързването на устройството в логовете. В частност, функцията evdev_log_msg чрез извикване на snprintf променя оригиналния формат на записа за лога, в който като префикс се добавя името на устройството. След това промененият низ се предава на функцията log_msg_va, която от своя страна използва функцията printf. По този начин, в първия аргумент на printf, на който се прилага разбор на форматни символи, попадат непроверени външни данни и атакуващият може да иницира повреждане на стека, организирайки връщане на името на устройството, съдържащо форматни символи (например, „Evil %s“).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster