Katalog CVE

CVE-2026-58087

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

Percentyl 8 - wyżej niż 8% wszystkich znanych CVE

Streszczenie

Polecenia GETALL i SETALL w semctl(2) rejestrowały liczbę semaforów w docelowym zestawie, zwalniały blokadę chroniącą zestaw, alokowały bufor o rozmiarze odpowiadającym tej liczbie i ponownie przejmowały blokadę. Do weryfikacji, czy zestaw nie został zastąpiony w międzyczasie, używano sprawdzenia numeru sekwencji, ale numer sekwencji zawija się po 0x8000 cyklach tworzenia/niszczenia. Poprzez szybkie niszczenie i odtwarzanie zestawów semaforów pod tym samym indeksem, inny proces może spowodować zawinięcie numeru sekwencji, co pozwala zestawowi z inną liczbą semaforów przejść walidację. Kolejna kopia odczytuje lub zapisuje poza końcem przydzielonego bufora. Nieuprzywilejowany użytkownik lokalny może wywołać odczyty i zapisy poza zakresem na pamięci sterty jądra, potencjalnie prowadząc do eskalacji uprawnień.

Ocena ryzyka

Lokalny atakujący może uzyskać podwyższone uprawnienia lub spowodować awarię systemu poprzez naruszenie pamięci jądra.

Rekomendacja

Zastosuj poprawkę od producenta systemu operacyjnego, która naprawia problem z zawijaniem numeru sekwencji w semctl(2).

Oryginalny opis (angielski, źródło NVD)

The GETALL and SETALL commands in semctl(2) recorded the number of semaphores in the target set, dropped the lock protecting the set, allocated a buffer sized for that count, and reacquired the lock. A sequence-number check was used to verify that the set had not been replaced in the interim, but the sequence number wraps after 0x8000 create/destroy cycles. By rapidly destroying and recreating semaphore sets at the same index, another process can cause the sequence number to wrap, allowing a set with a different number of semaphores to pass validation. The subsequent copy then reads or writes past the end of the allocated buffer. An unprivileged local user can trigger out-of-bounds reads and writes on kernel heap memory, potentially leading to privilege escalation.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS