Новата версия на XDG‑Desktop‑Portal пристига като спешна мярка за сигурност, след като по‑рано днес Flatpak 1.16.4 беше публикуван с поправки срещу sandbox escape и възможност за изтриване на файлове от хост системата. Порталният слой също се оказа уязвим и получава собствено обновление, за да затвори опасен пропуск.
XDG‑Desktop‑Portal служи като посредник между Flatpak и различните десктоп среди, осигурявайки контролирани интерфейси за достъп до системни ресурси. Именно в този слой беше открит проблем, позволяващ на злонамерени приложения да изтрият произволни файлове на хоста, ако успеят да се възползват от начина, по който порталът обработваше изпращането на файлове в кошчето.
Какъв беше проблемът и защо беше опасен
До версия 1.20.4 порталът разчиташе на GLib функцията g_file_trash, която работи с пътища. Това отваряше възможност за класическа symlink race атака, при която приложение можеше да подмени част от пътя със символна връзка в точния момент, пренасочвайки операцията към напълно различен файл на хост системата. Така sandbox ограниченията на практика се заобикаляха.
Какво променя версия 1.20.4
Новото издание преминава към операции, базирани на файлови дескриптори, което елиминира възможността за подмяна на пътя чрез symlink. Порталът вече работи директно с конкретния файл, който трябва да бъде преместен в кошчето, без да се доверява на пътища, които могат да бъдат манипулирани.
Това е единствената промяна в XDG‑Desktop‑Portal 1.20.4, но тя е достатъчно важна, за да оправдае самостоятелно издание. Актуализацията вече е налична в GitHub и се очаква бързо да бъде интегрирана в дистрибуциите.










