Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² tuned, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root

Π’ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ 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