Podatność w Flatpak pozwala aplikacji działającej w sandbox na obejście filtra seccomp i użycie ioctl TIOCSTI do wstrzyknięcia poleceń do terminala kontrolnego. Skutkuje to wykonaniem arbitralnych poleceń poza środowiskiem sandbox po zakończeniu działania aplikacji sandboxowanej.
▸ Pokaż oryginał (EN)
Flatpak before 1.0.8, 1.1.x and 1.2.x before 1.2.4, and 1.3.x before 1.3.1 allows a sandbox bypass. Flatpak versions since 0.8.1 address CVE-2017-5226 by using a seccomp filter to prevent sandboxed apps from using the TIOCSTI ioctl, which could otherwise be used to inject commands into the controlling terminal so that they would be executed outside the sandbox after the sandboxed app exits. This fix was incomplete: on 64-bit platforms, the seccomp filter could be bypassed by an ioctl request number that has TIOCSTI in its 32 least significant bits and an arbitrary nonzero value in its 32 most significant bits, which the Linux kernel would treat as equivalent to TIOCSTI.
Flatpak od wersji 0.8.1 blokował ioctl TIOCSTI za pomocą filtra seccomp, aby zapobiec wstrzykiwaniu poleceń do terminala kontrolnego (naprawa CVE-2017-5226). Jednak na platformach 64-bitowych filtr był niekompletny: atakujący mógł skonstruować żądanie ioctl, które w 32 najmniej znaczących bitach zawierało wartość TIOCSTI, a w 32 najbardziej znaczących bitach dowolną niezerową wartość. Jądro Linux traktowało takie żądanie jako równoważne TIOCSTI, ignorując niezgodność w górnych bitach. W ten sposób filtr seccomp był skutecznie omijany, a aplikacja sandboxowana mogła wstrzykiwać polecenia do terminala hosta.
Atakujący może wstrzyknąć dowolne polecenia do terminala kontrolnego użytkownika, które zostaną wykonane poza środowiskiem sandbox z uprawnieniami tego użytkownika, co prowadzi do pełnego przejęcia kontroli nad sesją i potencjalnie całym systemem.
Należy zaktualizować Flatpak do wersji 1.0.8, 1.2.4 lub 1.3.1 (w zależności od używanej gałęzi). Użytkownicy systemów Red Hat mogą zastosować patche dostępne w erratach RHSA-2019:1024 oraz RHSA-2019:1143.
Flatpak przed wersją 1.0.8, wersje 1.1.x i 1.2.x przed 1.2.4 oraz wersje 1.3.x przed 1.3.1 na platformach 64-bitowych
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:HFlatpak
APPFlatpak1.3.0< 1.0.81.1.0 – 1.1.31.2.0 – 1.2.4 (bez)
Powiązane podatności
Flatpak: path traversal przez symlinki umożliwia RCE na hoście
Flatpak: ucieczka z sandbox przez symlink w katalogu persistent
Flatpak: wstrzyknięcie komend przez TIOCLINUX na wirtualnych konsolach Linux
Flatpak is a Linux application sandboxing and distribution framework. Prior to 1.16.4, the caching for ld.so r...
Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux. in versio...