CVE-2026-90199
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
fs/ntfs3: odrzuć evcn spoza zakresu w mi_enum_attr()
W mi_enum_attr(): weryfikacja początku/końca VCN dla nierezydenta
atrybuty to:
if (svcn > evcn + 1) wyjdź;
Gdy evcn ma wartość U64_MAX, wyrażenie „evcn + 1” zawija się do 0 i dowolnego svcn
przechodzi kontrolę. Dla wartości evcn bliskich U64_MAX (ale nie równych)
prawa strona jest nadal bezsensowną, prawie zawijaną górną granicą, więc a
zniekształcony atrybut na dysku z svcn == 0 i evcn w pobliżu U64_MAX może przejść
mi_enum_attr() nie została odrzucona.
VCN (numer klastra wirtualnego) jest indeksem klastra, więc każdy prawidłowy evcn nim jest
ograniczona przez całkowitą liczbę klastrów w woluminie, którą przechowuje ntfs3
sbi->used.bitmap.nbits (ustawione w ntfs_init_from_boot() przed jakimkolwiek obiektem wywołującym
uruchomień mi_enum_attr()). Odrzuć wartości evcn, które wykraczają poza ten zakres.
Jednakże pusty atrybut nierezydentny (brak przydzielonych klastrów) jest
legalnie zakodowane za pomocą svcn == 0 i evcn == -1 (U64_MAX), np. przez
attr->nres.evcn = cpu_to_le64((u64)vcn - 1) z vcn == 0. Ten strażnik
musi przejść dalej, więc wyklucz evcn == U64_MAX ze sprawdzania zasięgu. The
istniejący test „svcn > evcn + 1” nadal toleruje wartownika („0 > 0” to
false) i nadal wymaga dla tego svcn == 0 podczas sprawdzania zakresu
odrzuca wszystkie inne evcn spoza zasięgu i w ten sposób również rozbraja
Zawijanie „evcn + 1”.
svcn nie potrzebuje własnego ograniczenia: gdy evcn < nbitów, „svcn > evcn + 1”
implikuje svcn <= nbitów.
[[email protected]: naprawiono sprawdzanie evcn]
>_ Referencje
- https://git.kernel.org/stable/c/0441e34ce098c19185a7b52c5b8b89a8a5b26888
- https://git.kernel.org/stable/c/20fd9f64c0050658f2031e6bd5d552c6f0c8f7e3
- https://git.kernel.org/stable/c/2b9a0e57bfd365e2096706b19ae34dce3b4a884b
- https://git.kernel.org/stable/c/7ab69cef49ebdfee288287d62641b24ab1445ecc
- https://git.kernel.org/stable/c/ce9a619c432b9a4044fee115c5483fbed946c131
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