Katalog CVE

CVE-2025-38415

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.17%

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

Streszczenie

W jądrze systemu Linux zidentyfikowano podatność w systemie plików Squashfs, która może prowadzić do błędu 'shift-out-of-bounds'. Problem występuje, gdy dwa procesy jednocześnie próbują zamontować system plików Squashfs na tym samym urządzeniu, co prowadzi do nieprawidłowego ustawienia rozmiaru bloku.

Ocena ryzyka

Podatność ta może prowadzić do awarii systemu lub nieprzewidywalnych zachowań aplikacji korzystających z systemu plików Squashfs, co może wpłynąć na stabilność i bezpieczeństwo systemu.

Rekomendacja

Zaleca się aktualizację jądra systemu Linux do najnowszej wersji, w której wprowadzono poprawkę eliminującą tę podatność. Należy również monitorować procesy montowania systemu plików, aby uniknąć jednoczesnych operacji.

Powiązane podatności

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

In the Linux kernel, the following vulnerability has been resolved: Squashfs: check return result of sb_min_blocksize Syzkaller reports an "UBSAN: shift-out-of-bounds in squashfs_bio_read" bug. Syzkaller forks multiple processes which after mounting the Squashfs filesystem, issues an ioctl("/dev/loop0", LOOP_SET_BLOCK_SIZE, 0x8000). Now if this ioctl occurs at the same time another process is in the process of mounting a Squashfs filesystem on /dev/loop0, the failure occurs. When this happens the following code in squashfs_fill_super() fails. ---- msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE); msblk->devblksize_log2 = ffz(~msblk->devblksize); ---- sb_min_blocksize() returns 0, which means msblk->devblksize is set to 0. As a result, ffz(~msblk->devblksize) returns 64, and msblk->devblksize_log2 is set to 64. This subsequently causes the UBSAN: shift-out-of-bounds in fs/squashfs/block.c:195:36 shift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long') This commit adds a check for a 0 return by sb_min_blocksize().

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