I den udviklede baggrundsproces tuned fra Red Hat, der automatisk optimerer hardware- og kernetilpasninger afhængig af den aktuelle belastning, er der opdaget en sårbarhed (CVE-2024-52336), som gør det muligt for en lokal, ikke-privilegeret bruger at udføre enhver kommando med root-rettigheder.
Problemet er til stede i implementeringen af DBus-metoden "com.redhat.tuned.instance_create", der bruges til at oprette forekomster af plugins, hvor man kan angive parametrene "script_pre" og "script_post" til at angive scripts, der udføres før eller efter oprettelsen af plugin-forekomsten. Problemet er, at Polkit-indstillingerne tillader enhver logget lokal bruger uden godkendelse at sende en DBus-anmodning til denne metode, mens selve processen tuned kører med root-rettigheder og også kører de angivne scripts i "script_pre" og "script_post" med root-rettigheder. For eksempel, for at køre scriptet /path/to/myscript.sh med root-rettigheder skal brugeren blot udføre kommandoen: 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-metoden "com.redhat.tuned.instance_create" har også en mindre farlig sårbarhed (CVE-2024-52337), som skyldes manglende rensning af værdien med plugin-forekomstens navn ved udskrivning til log. Angriberen kan tilføje et navn, der indeholder nye linjer og escape-tegn til terminalemulatoren, som kan bruges til at bryde logstrukturen og udføre handlinger, når output fra kommandoen "tuned-adm get_instances" vises i terminalen. 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": "*"}'
Sårbarhederne optræder fra version tuned 2.23, der blev dannet i begyndelsen af juni 2024, og er blevet rettet i udgivelsen tuned 2.24.1. I store distributioner er problemerne rettet i RHEL 9, Fedora 40, Arch Linux og Gentoo. I de stabile grene af Ubuntu, Debian og SUSE/openSUSE optræder sårbarhederne ikke, da de leverer ældre versioner af tuned (<2.23), som ikke er sårbare.
Kilde: opennet.ru
