Odebrany

CVE-2026-89557

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

md: sprawdź przepełnienie dla sb->bblog_shift w super_1_load()

W super_1_load() sb->bblog_shift jest wartością typu __u8 ładowaną z
superblok dysku. Jest używany do badblocks API badblocks_set() przez
następująca sekwencja,

1930 rdev->badblocks.shift = sb->bblog_shift;
1931 dla (i = 0 ; i < (sektory << (9-3)) ; i++, bbp++) {
1932 u64 bb = le64_to_cpu(*bbp);
1933 liczba int = bb & (0x3ff);
1934 u64 sektor = bb >> 10;
1935 sektor <<= sb->bblog_shift;
1936 liczba <<= sb->bblog_shift;
1937 jeśli (bb + 1 == 0)
przerwa 1938;
1939 if (!badblocks_set(&rdev->badblocks, sektor, liczba, 1))
powrót 1940 -EINVAL;
1941}

bb->bblog_shit mieści się w zakresie 0-255, sektor zmienny ma szerokość 64 bitów, dla
nieprawidłowy bb->bblog_shit, możliwe jest przepełnienie sektora
za pomocą następującego obliczenia,
1935 sektor <<= sb->bblog_shift;
Następnie z kolei wywołaj badblocks_set() w linii 1939 z nieprawidłowym kodem
rdev->badblocks.shift ustawiony w linii 1930, może spowodować przepełnienie wewnątrz
_badblocks_clear() w block/badblocks.c.

Chociaż istnieje wiele miejsc, w których można wywołać interfejsy API badblocks, wartość różna od zera
wartość przesunięcia jest używana tylko w super_1_load(), w innych miejscach zawsze używa się 0 jako
wartość przesunięcia. Dlatego nie jest konieczne wykonywanie ogólnej wartości przesunięcia
przepełnienie sprawdź wewnątrz badblock API i po prostu sprawdź tutaj jako rozmówca.

Może to uniknąć niepotrzebnego sprawdzania i uprościć kod API badblocks
i elegancki.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org