Уязвимост във flatpak, позволяваща заобикалянС Π½Π° sandbox-изолацията

Π’ инструмСнтария Flatpak, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ Π·Π° създаванС Π½Π° самостоятСлни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, нСзависими ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ дистрибуции Linux ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ останалата част Π½Π° систСмата, Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° уязвимост (CVE-2024-32462). Уязвимостта позволява Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, доставяно Π² ΠΏΠ°ΠΊΠ΅Ρ‚ flatpak, Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ установСния Ρ€Π΅ΠΆΠΈΠΌ Π½Π° sandbox-изолация ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² основната систСма. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС проявява само Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ ΠΏΠΎΡ€Ρ‚Π°Π»ΠΈΡ‚Π΅ Freedesktop (xdg-desktop-portal), ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ рСсурситС Π½Π° потрСбитСлското пространство ΠΎΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ прилоТСния. Уязвимостта Π΅ отстранСна Π² ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‰ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ flatpak 1.15.8, 1.14.6, 1.12.9 ΠΈ 1.10.9. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ ΠΎΠ±Ρ…ΠΎΠ΄Π΅Π½ ΠΏΡŠΡ‚ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΡΡŠΡ‰ΠΎ Π² изданията xdg-desktop-portal 1.16.1 ΠΈ 1.18.4.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° уязвимост, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, находящС сС Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСда, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° интСрфСйса xdg-desktop-portal Π·Π° създаванС Π½Π° Ρ„Π°ΠΉΠ» Β«.desktopΒ» с ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° стартиранС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ flatpak, Π΄Π°Π²Π°ΠΉΠΊΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° основната систСма. Π—Π° напусканС Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Β«β€”commandΒ», ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, Π½Π°ΠΌΠΈΡ€Π°Ρ‰Π° сС Π²ΡŠΡ‚Ρ€Π΅ Π² flatpak ΠΏΠ°ΠΊΠ΅Ρ‚Π°, която трябва Π΄Π° бъдС стартирана Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСда. Π—Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π°Ρ‚Π° срСда flatpak ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° bwrap, ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΉΠΊΠΈ ѝ ΡƒΠΊΠ°Π·Π°Π½ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. НапримСр, Π·Π° стартиранС Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° ls Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСда Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° конструкцията Β«flatpak run β€”command=ls org.gnome.geditΒ», която Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ стартиранС Π½Π° Β«bwrap lsΒ».

Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° уязвимостта Π΅, Ρ‡Π΅ Π°ΠΊΠΎ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π²Π° с символитС Β«β€”Β», Ρ‚ΠΎ Ρ‰Π΅ бъдС Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° bwrap ΠΊΠ°Ρ‚ΠΎ собствСна опция. НапримСр, стартиранСто Π½Π° Β«flatpak run β€”command=β€”bind org.gnome.gedit / /host ls -l /hostΒ» Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Β«bwrap β€”bind / /host ls -l /hostΒ», Ρ‚.Π΅. ΠΈΠΌΠ΅Ρ‚ΠΎ Β«β€”bindΒ» Ρ‰Π΅ бъдС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΎ Π½Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° стартираното ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΊΠ°Ρ‚ΠΎ опция Π½Π° bwrap.

Уязвимостта сС услоТнява ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ D-Bus ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ Β«org.freedesktop.portal.Background.RequestBackgroundΒ» позволява Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Flatpak Π΄Π° посочи ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° изпълнСниС Ρ‡Ρ€Π΅Π· Β«flatpak run β€”commandΒ», Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π°ΠΊΠ°Π²Π°, която Π·Π°ΠΏΠΎΡ‡Π²Π° с символа Β«β€”Β». ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡˆΠ΅ сС, Ρ‡Π΅ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π΅ Π΅ опасно, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ изпълнСни Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° срСда Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Но Π½Π΅ бСшС Π²Π·Π΅Ρ‚ΠΎ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅, Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‰ΠΈ с Β«β€”Β», Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΎΠΏΡ†ΠΈΠΈ ΠΎΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° bwrap. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ xdg-desktop-portal ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° създаванС Π½Π° Ρ„Π°ΠΉΠ» Β«.desktopΒ» с ΠΊΠΎΠΌΠ°Π½Π΄Π°, Сксплоатираща уязвимостта.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster