Podatność typu path traversal w Incus (menedżer kontenerów systemowych i maszyn wirtualnych) pozwala uwierzytelnionemu atakującemu na zapis dowolnych plików z uprawnieniami root poza dedykowanym katalogiem kredencjałów kontenera. Zagrożenie jest krytyczne, ponieważ umożliwia eskalację uprawnień oraz ataki typu denial of service.
▸ Pokaż oryginał (EN)
Incus is a system container and virtual machine manager. Incus instances have an option to provide credentials to systemd in the guest. For containers, this is handled through a shared directory. Prior to version 6.23.0, an attacker can set a configuration key named something like `systemd.credential.../../../../../../root/.bashrc` to cause Incus to write outside of the `credentials` directory associated with the container. This makes use of the fact that the Incus syntax for such credentials is `systemd.credential.XYZ` where `XYZ` can itself contain more periods. While it's not possible to read any data this way, it's possible to write to arbitrary files as root, enabling both privilege escalation and denial of service attacks. Version 6.23.0 fixes the issue.
Incus umożliwia przekazywanie kredencjałów do systemd w gościnnym systemie poprzez współdzielony katalog. Klucze konfiguracyjne kredencjałów mają format `systemd.credential.XYZ`, gdzie część `XYZ` może zawierać znaki kropki i ukośnika. Przed wersją 6.23.0 brak walidacji tej części nazwy klucza pozwalał atakującemu na podanie wartości zawierającej sekwencję path traversal, np. `systemd.credential.../../../../../../root/.bashrc`, co skutkowało zapisem pliku przez Incus poza przeznaczonym katalogiem `credentials`. Zapis odbywa się z uprawnieniami root, jednak odczyt danych tą drogą nie jest możliwy.
Atakujący z dostępem do konfiguracji instancji może nadpisywać lub tworzyć dowolne pliki na hoście z uprawnieniami root, co prowadzi do eskalacji uprawnień (privilege escalation) lub destabilizacji systemu (denial of service).
Należy zaktualizować Incus do wersji 6.23.0, która wprowadza poprawną walidację nazw kluczy kredencjałów i eliminuje możliwość path traversal.
Linuxcontainers Incus w wersjach wcześniejszych niż 6.23.0
Podatność wymaga posiadania przez atakującego uprawnień do ustawiania kluczy konfiguracyjnych instancji Incus (uwierzytelniony użytkownik z dostępem do API lub konfiguracji kontenera). Odczyt danych tą drogą nie jest możliwy — wyłącznie zapis.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLinuxcontainers Incus
APPLinuxcontainers< 6.23.0
Powiązane podatności
Incus: odczyt/zapis dowolnych plików jako root przez szablony pongo2
Incus is a system container and virtual machine manager. In versions before 7.0.0, missing validation logic in...
Incus is a system container and virtual machine manager. In versions before 7.0.0, missing validation logic in...
Incus is a system container and virtual machine manager. In versions before 7.0.0, missing validation logic in...
Incus is a system container and virtual machine manager. Prior to version 6.23.0, the web server spawned by `i...