Katalog CVE

CVE-2026-46294

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

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

Streszczenie

W jądrze Linuxa wykryto przepełnienie bufora w funkcji retrieve_status w sterowniku dm-ioctl. Błąd wynika z braku sprawdzenia przepełnienia podczas wyrównywania wskaźnika outptr do granicy 8 bajtów, co może prowadzić do zapisu poza buforem. Jednak podatność nie ma implikacji bezpieczeństwa, ponieważ tylko root może wydawać ioctl device mapper, a biblioteki używają buforów wyrównanych do 8 bajtów.

Ocena ryzyka

Ryzyko jest minimalne, ponieważ exploit wymaga uprawnień roota, a typowe biblioteki zapobiegają przypadkowemu wyzwoleniu błędu. Niemniej jednak, w specyficznych warunkach może dojść do uszkodzenia pamięci.

Rekomendacja

Zaleca się aktualizację jądra Linuxa do wersji zawierającej poprawkę, która dodaje sprawdzenie przepełnienia podczas wyrównywania wskaźnika w retrieve_status.

Inne podatności w Linux kernel

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

In the Linux kernel, the following vulnerability has been resolved: dm: fix a buffer overflow in ioctl processing Tony Asleson (using Claude) found a buffer overflow in dm-ioctl in the function retrieve_status: 1. The code in retrieve_status checks that the output string fits into the output buffer and writes the output string there 2. Then, the code aligns the "outptr" variable to the next 8-byte boundary: outptr = align_ptr(outptr); 3. The alignment doesn't check overflow, so outptr could point past the buffer end 4. The "for" loop is iterated again, it executes: remaining = len - (outptr - outbuf); 5. If "outptr" points past "outbuf + len", the arithmetics wraps around and the variable "remaining" contains unusually high number 6. With "remaining" being high, the code writes more data past the end of the buffer Luckily, this bug has no security implications because: 1. Only root can issue device mapper ioctls 2. The commonly used libraries that communicate with device mapper (libdevmapper and devicemapper-rs) use buffer size that is aligned to 8 bytes - thus, "outptr = align_ptr(outptr)" can't overshoot the input buffer and the bug can't happen accidentally

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