В разработваното от компанията Red Hat фоново приложение tuned, което извършва автоматична оптимизация на хардуерните и ядрените настройки в зависимост от текущото натоварване, е установена уязвимост (CVE-2024-52336), позволяваща на локален непривилегирован потребител да изпълни команди с права root.
Проблемът присъства в реализирането на DBus метода «com.redhat.tuned.instance_create», използван за създаване на екземпляри на плъгини, в който могат да се предадат параметри «script_pre» и «script_post» за указване на скриптове, които се изпълняват преди или след създаването на екземпляра на плъгина. Проблемът е, че настройките Polkit позволяват на всеки влезъл в системата локален потребител без удостоверяване да изпрати DBus заявка до този метод, докато самият процес tuned работи с права root и изпълнява посочените в параметрите «script_pre» и «script_post» скриптове също с права root. Например, за да стартира скрипта /path/to/myscript.sh с права root, потребителят трябва единствено да изпълни командата: gdbus call -y -d com.redhat.tuned -o /Tuned -m com.redhat.tuned.control.instance_create cpu myinstance '{"script_pre": "/path/to/myscript.sh", "devices": "*"}'
В DBus метода «com.redhat.tuned.instance_create» също се появява по-малко опасна уязвимост (CVE-2024-52337), причинена от липса на почистване на стойността на името на екземпляра на плъгина при извеждането му в лог. Нападател може да добави име, съдържащо символи за нов ред и escape символи за емулацията на терминал, които могат да се използват за нарушаване на структурата на лога и извършване на действия при показването на изхода на командата «tuned-adm get_instances» в терминала. EVIL=`echo -e "this is\nevil\033[?1047h"` gdbus call -y -d com.redhat.tuned -o /Tuned -m com.redhat.tuned.control.instance_create cpu "$EVIL" '{"devices": "*"}'
Уязвимостите се проявяват от версия tuned 2.23, издадена в началото на юни 2024 година, и са отстранени в версия tuned 2.24.1. В големите дистрибуции проблемите са решени в RHEL 9, Fedora 40, Arch Linux и Gentoo. В стабилните клонове на Ubuntu, Debian и SUSE/openSUSE уязвимостите не се проявяват, тъй като в тях се предлагат стари версии tuned (<2.23), не подложени на уязвимостите.
Източник: opennet.ru
