CVE-2026-48983
ŚrednieCVSS 5.8Streszczenie
W wersjach przed 0.9.2 pam_usb zawiera lukę w postaci warunku wyścigu przy tworzeniu katalogów pad dla poszczególnych urządzeń i użytkowników. Atakujący lokalny może wykorzystać tę lukę, aby zastąpić docelową ścieżkę symlinkiem do katalogu, który kontroluje.
Ocena ryzyka
Luka ta może prowadzić do zapisania plików pad w lokalizacji kontrolowanej przez atakującego, co może narazić przyszłe wartości pad na ujawnienie lub zakłócić proces uwierzytelniania.
Rekomendacja
Zaleca się aktualizację do wersji 0.9.2 lub nowszej, aby usunąć tę lukę bezpieczeństwa.
Inne podatności w pam_usb
Zobacz wszystkie- CVE-2026-48981Średnie
W wersjach przed 0.9.2, pam_usb wywołuje xmlReadFile() z flagami=0 podczas ładowania pliku konfiguracyjnego, co pozwala libxml2 na przetwarzanie zewnętrznych odniesień do encji (XXE). Może to prowadzić do nawiązywania połączeń sieciowych lub odczytu lokalnych plików w czasie analizy XML z kontekstu procesu uwierzytelniającego.
- CVE-2026-48980Średnie
W wersjach przed 0.9.2 moduł pam_usb, odpowiedzialny za uwierzytelnianie sprzętowe w systemie Linux, jest podatny na wstrzykiwanie zmiennych środowiskowych. Zmienne XRDP_SESSION, DISPLAY i TMUX mogą być manipulowane przez lokalnego użytkownika, co wpływa na logikę sprawdzania sesji lokalnych i zdalnych.
- CVE-2026-48986Średnie
W wersjach pam_usb 0.9.1 i wcześniejszych występuje błąd, który może prowadzić do nieskończonej pętli DoS z powodu nieprawidłowej inicjalizacji zmiennej *ppid. W funkcji pusb_local_login() ta sama zmienna jest używana jako wejście i wyjście w pętli, co może prowadzić do zablokowania procesu uwierzytelniającego.
- CVE-2026-48985Średnie
W wersjach 0.9.1 i poniżej moduł pam_usb może powodować awarię z powodu dereferencji NULL podczas analizy wyjścia loginctl. Funkcja pusb_is_loginctl_local() wywołuje popen() i odczytuje wynik, co może prowadzić do nieokreślonego zachowania i awarii modułu PAM.
- CVE-2026-48984Średnie
W wersjach 0.9.1 i poniżej, funkcja xfree() w pam_usb zwalnia pamięć bez wcześniejszego wyzerowania zawartości bufora, co prowadzi do ujawnienia wrażliwych danych w zwolnionej pamięci. Może to umożliwić odzyskanie wartości padów lub innych materiałów uwierzytelniających z obszarów pamięci, które zostały zwolnione.
- CVE-2026-47269Wysokie
W wersjach przed 0.9.0, funkcja deny_remote w pam_usb nieprawidłowo sprawdzała, czy żądanie uwierzytelnienia pochodzi z sesji zdalnej, co pozwalało na ominięcie zabezpieczeń. Atakujący z fizycznym dostępem do zarejestrowanego urządzenia USB mógł uwierzytelnić się przez SSH, jakby był lokalnie podłączony.
- CVE-2026-44713Wysokie
W wersjach przed 0.8.7, pam_usb odczytuje zmienną środowiskową $TMUX użytkownika i interpoluje jej wartość bez odpowiedniego oczyszczania, co pozwala na wstrzyknięcie dowolnej składni powłoki. To stwarza ryzyko wykonania nieautoryzowanych poleceń jako root.
- CVE-2026-44712Wysokie
pam_usb przed wersją 0.8.7 umożliwia zdalne wykonanie kodu (RCE) z poziomu roota poprzez spreparowany UUID w konfiguracji. Wykonanie polecenia pamusb-conf --reset-pads z takim UUID prowadzi do wykorzystania podatności.
- CVE-2026-44711Wysokie
pam_usb przed wersją 0.8.7 jest podatny na ataki symlinkowe, które umożliwiają obejście uwierzytelniania oraz uszkodzenie plików systemowych. Wersja 0.8.7 zawiera poprawkę tej podatności.
- CVE-2026-47272Wysokie
W wersjach przed 0.9.0, funkcja pusb_pad_compare() w pam_usb nie wymuszała obecności i czytelności pliku pad na urządzeniu USB, co pozwalało użytkownikom na autoryzację bez fizycznego urządzenia. Użytkownik mógł usunąć swój plik ~/.pamusb/device.pad, co skutkowało pomyślną autoryzacją bez wymaganego urządzenia USB.
Oryginalny opis (angielski, źródło NVD)
pam_usb provides hardware authentication for Linux using ordinary removable media. In versions prior to 0.9.2, a symlink race condition exists in per-device and per-user pad directory creation. pam_usb uses a check-then-act pattern: it calls lstat() to test for existence and then calls mkdir() separately to create the directory. A local attacker can win the race between these calls by replacing the target path with a symlink to a directory they control. If successful, one-time pad files may be written to an attacker-controlled location, potentially exposing future pad values before use or disrupting authentication. This issue has been fixed in version 0.9.2.

