Katalog CVE

CVE-2026-72369

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W jądrze Linux w systemie plików Minix funkcja minix_check_superblock() używa minix_blocks_needed() do weryfikacji liczby bloków bitmap. Obliczenia wykonywane są w arytmetyce unsigned int, co może spowodować przepełnienie, gdy s_ninodes lub s_zones jest bliskie UINT_MAX. Prowadzi to do zaakceptowania zerowej liczby bloków bitmap, a następnie do dereferencji s_imap[0] lub s_zmap[0] w minix_fill_super(), co powoduje panikę jądra.

Ocena ryzyka

Zamontowanie spreparowanego obrazu Minix v3 może doprowadzić do paniki jądra, co skutkuje przerwą w działaniu systemu i potencjalną utratą danych.

Rekomendacja

Zastosuj aktualizację jądra Linux zawierającą poprawkę używającą DIV_ROUND_UP_POW2() zamiast DIV_ROUND_UP().

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

In the Linux kernel, the following vulnerability has been resolved: minix: avoid overflow in bitmap block count calculation minix_check_superblock() uses minix_blocks_needed() to verify that the on-disk imap and zmap block counts are large enough for the advertised inode and zone counts. The helper currently performs DIV_ROUND_UP() in unsigned int arithmetic. A Minix v3 image can set s_ninodes or s_zones near UINT_MAX so the addition inside DIV_ROUND_UP() wraps to zero. That makes a zero imap/zmap block count look valid, after which minix_fill_super() can dereference s_imap[0] or s_zmap[0] even though no bitmap buffers were allocated. Impact: mounting a crafted Minix v3 image whose s_ninodes or s_zones is near UINT_MAX makes minix_check_superblock() accept a zero bitmap-block count and minix_fill_super() dereference s_imap[0]/s_zmap[0], panicking the kernel. The divisor is the bitmap capacity in bits, blocksize * 8, which is always a power of two: minix_fill_super() obtains the block size through sb_set_blocksize(), and blk_validate_block_size() rejects any size that is not a power of two. Use DIV_ROUND_UP_POW2(), which divides before adding the round-up term and so cannot overflow for a power-of-two divisor.

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