Zincati to agent auto-aktualizacji dla hostów Fedora CoreOS. Zincati zawiera regułę polkit umożliwiającą użytkownikowi systemowemu `zincati` używanie akcji `org.projectatomic.rpmostree1.deploy` do wdrażania aktualizacji i `org.projectatomic.rpmostree1.finalize-deployment` do ponownego uruchomienia systemu. Od wersji v0.0.24 reguła polkit zawiera błąd logiki, który rozszerza dostęp do tych akcji na każdego nieprivilegowanego użytkownika zamiast tylko użytkownika `zincati`. W praktyce oznacza to, że każdy nieprivilegiowany użytkownik z dostępem do gniazda systemowego D-Bus może wdrażać starsze wersje Fedora CoreOS (które mogą mieć inne znane luki). Należy zwrócić uwagić, że rpm-ostree wymusza, aby wybrana wersja pochodziła z tej samej gałęzi, na której aktualnie znajduje się system, więc nie może to być bezpośrednio wykorzystane do wdrażania
▸ Pokaż oryginał (EN)
Zincati is an auto-update agent for Fedora CoreOS hosts. Zincati ships a polkit rule which allows the `zincati` system user to use the actions `org.projectatomic.rpmostree1.deploy` to deploy updates to the system and `org.projectatomic.rpmostree1.finalize-deployment` to reboot the system into the deployed update. Since Zincati v0.0.24, this polkit rule contains a logic error which broadens access of those polkit actions to any unprivileged user rather than just the `zincati` system user. In practice, this means that any unprivileged user with access to the system D-Bus socket is able to deploy older Fedora CoreOS versions (which may have other known vulnerabilities). Note that rpm-ostree enforces that the selected version must be from the same branch the system is currently on so this cannot directly be used to deploy an attacker-controlled update payload. This primarily impacts users running untrusted workloads with access to the system D-Bus socket. Note that in general, untrusted workloads should not be given this access, whether containerized or not. By default, containers do not have access to the system D-Bus socket. The logic error is fixed in Zincati v0.0.30. A workaround is to manually add a following polkit rule, instructions for which are available in the GitHub Security Advisory.
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X