Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²ΠΎ 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ