CVE-2026-72693
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
Polecenie `openvt -u` ma identyfikować właściciela bieżącego VT, a następnie wykonać `login` jako ten użytkownik z uprzywilejowanego kontekstu. W udokumentowanym użyciu `kbrequest`/init test własności w `authenticate_user()` opiera się na `stat("/proc/<pid>/fd/0")`. `stat()` na `/proc/<pid>/fd/0` podąża za dowiązaniem symbolicznym do bazowego urządzenia TTY. W rezultacie `buf.st_uid` odzwierciedla właściciela węzła TTY, a nie właściciela procesu trzymającego deskryptor pliku. Jeśli właściciel TTY powróci do roota lub właściciela getty po wylogowaniu, podczas gdy nieuprzywilejowany proces nadal ma fd 0 podłączone do tego TTY, kontrola może błędnie uznać ten proces za należący do uprzywilejowanego właściciela konsoli. Po pomyślnym sprawdzeniu ścieżka `-u` wykonuje logowanie bez hasła jako wybrany użytkownik. W udokumentowanym wdrożeniu `kbrequest`/init z użyciem `openvt -us` może to skutkować logowaniem bez hasła `login -f root` na nowym VT. Ten raport ustala tę ścieżkę eskalacji uprawnień dla tego udokumentowanego wdrożenia; nie twierdzi, że jest osiągalna w innych wdrożeniach.
Ocena ryzyka
Ryzyko obejmuje eskalację uprawnień do konta root bez hasła, co może prowadzić do pełnej kompromitacji systemu.
Rekomendacja
Zaleca się zaktualizowanie openvt do wersji z poprawką oraz ograniczenie użycia `openvt -u` w konfiguracjach `kbrequest`/init, a także wdrożenie dodatkowych kontroli dostępu.
Oryginalny opis (angielski, źródło NVD)
`openvt -u` is intended to identify the owner of the current VT and then execute `login` as that user from a privileged context. In the documented `kbrequest`/init usage, the ownership test in `authenticate_user()` relies on `stat("/proc/<pid>/fd/0")`. `stat()` on `/proc/<pid>/fd/0` follows the symlink to the underlying TTY device node. As a result, `buf.st_uid` reflects the owner of the TTY node rather than the owner of the process holding the file descriptor. If the TTY owner returns to `root` or the getty owner after logout while an unprivileged process still has `fd 0` attached to that TTY, the check can incorrectly treat that process as belonging to the privileged console owner. Once that check succeeds, the `-u` path executes a passwordless login as the selected user. In the documented `kbrequest`/init deployment using `openvt -us`, this can result in passwordless `login -f root` on the spawned VT. This report establishes that privilege escalation path for that documented deployment; it does not claim equivalent reachability for deployments that do not use `openvt -u` from a privileged `kbrequest`/init path.

