Odebrany

CVE-2026-98918

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ę:

mm/damon/ops-common: użyj adresu wyrównanego do strony w damon_ptep_mkold()

__damon_va_prepare_access_check() wybiera losowy adres bajtowy w pliku
region i zapisuje go w r->sampling_addr. damon_va_mkold() przekazuje go do
spacer po tabeli stron, który przekazuje ją do damon_ptep_mkold() jako adres
strona do próbki:

damon_va_mkold(mm, r->adres_próbkowania)
damon_va_walk_page_range(mm, adres, adres + 1)
damon_mkold_pmd_entry()
damon_ptep_mkold(pte, vma, adres)
ptep_test_and_clear_young(vma, adres, pte)
mmu_notifier_clear_young(mm, adres, adres + PAGE_SIZE)

Dla arm64, przed zatwierdzeniem 6f0e1142173a („arm64: mm: wsparcie czyszczenia partii
młodej flagi dla dużych folio”), pomocnik contpte chodził dokładnie
Wpisy CONT_PTES ze wskaźnika tabeli stron wyrównanego w dół i użyte @addr
tylko po to, aby przekazać do każdego wpisu, więc niewyrównana wartość była nieszkodliwa:

ptep = contpte_align_down(ptep);
adres = ALIGN_DOWN(adres, CONT_PTE_SIZE);
for (i = 0; i < CONT_PTES; i++, ptep++, adres += ROZMIAR_STRONY)

Teraz zakres do przejścia pochodzi z @addr: end = adres + nr *
PAGE_SIZE, zaokrąglone w górę do CONT_PTE_SIZE. Próbka na ostatniej stronie
blok kontentowy, przesunięcie podstrony kończy się tuż za blokiem
granicę, więc łapanka wyląduje całą przecznicę dalej i przejście będzie wolne
PTE_AF we wpisach CONT_PTES poza próbkowanym blokiem. Do ostatniego bloku
na stronie tabeli stron te wpisy znajdują się za końcem tej strony, więc
walk pisze na następnej stronie.

Wywoływane przez pełny pakiet autotestów jądra 7.1/7.2 na arm64 (EC2
c/m6g.4xlarge). Jądro czasami ulega awarii w momencie lub wkrótce po
Próba DAMONA.

Działanie przekroczenia zależy od strony, która podąża za tą stroną
tabeli, więc nie ma jednego podpisu. Jeśli ta strona jest tylko do odczytu, plik
zapisz błędy w samej ścieżce próbkowania:

Nie można obsłużyć zapisu jądra do pamięci tylko do odczytu pod adresem wirtualnym ffff0003c5d2d000
FSC = 0x0f: błąd uprawnień poziomu 3
CM = 0, WnR = 1, TnD = 0, TagAccess = 0
Procesor: 10 UID: 0 PID: 3487 Comm: kdamond.2
szt: contpte_test_and_clear_young_ptes+0x70/0xc0
lr : damon_ptep_mkold+0x1e8/0x1f8
Śledzenie połączeń:
contpte_test_and_clear_young_ptes+0x70/0xc0 (P)
damon_mkold_pmd_entry+0x150/0x170
walk_pmd_range+0x110/0x2b0
walk_pud_range+0x10c/0x208
walk_pgd_range+0x134/0x258
__walk_page_range+0x98/0x1b0
walk_page_range_vma_unsafe+0x90/0x148
walk_page_range_vma+0x28/0x40
damon_va_walk_page_range+0x114/0x2b8
damon_va_prepare_access_checks+0xec/0x1a8
kdamond_fn+0x534/0x770
kwątek+0x128/0x138
ret_from_fork+0x10/0x20

W przeciwnym razie strona będzie zapisywalna, kasowanie PTE_AF zakończy się sukcesem w trybie cichym i
szkody wychodzą na jaw później, niezależnie od tego, czy jesteś właścicielem strony, więc
ślad wsteczny nie jest powiązany z DAMONEM i różni się w zależności od przebiegu.

Przekaż adres wyrównany do strony do wywołania ptep_test_and_clear_young().
damon_ptep_mkold(), które jest jedynym miejscem, do którego DAMON może dotrzeć
contpte_test_and_clear_young_ptes() z. Nic innego nie widzi wyrównanych
adres, a sam r->sampling_addr pozostaje bez zmian, więc próbkowanie i
Semantyka księgowości regionalnej pozostaje niezmieniona.

>_ 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