CVE-2026-93256
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
arm64: hibernate: maskuj DAIF przed przywróceniem hibernowanego jądra
Kod hibernacji arm64 zarządza maskowaniem wyjątków w przypadku nieprawidłowego działania
sposób, co może prowadzić do potencjalnych awarii i/lub ostrzeżeń podczas wznawiania.
Kiedy obraz hibernacji jest zapisywany w `swsusp_arch_suspend()`, wszystkie pliki DAIF
wyjątki są maskowane (dzięki `local_daif_save()`), a
zawieszony obraz jest zapisywany przy założeniu, że wszystkie wyjątki DAIF pozostaną zachowane
maskowane po przywróceniu obrazu.
Tylko gdy obraz hibernacji zostanie wznowiony przez `swsusp_arch_resume()`
przerwania są maskowane (dzięki `local_irq_disable()` w
`resume_target_kernel()`). Gdy włączone jest pseudo-NMI, bity DAIF.IF
będzie jasne i niezależnie od pseudo-NMI bity DAIF.DA będą
jasne.
Oznacza to, że istnieją dwa problemy:
(1) Możliwe jest przyjęcie wyjątków Debug, SError lub pseudo-NMI
podczas procesu wznowienia. Jest to niebezpieczne, podobnie jak podczas wznowienia
przetworzyć oba stare i nowe jądra będą tymczasowo znajdować się w pliku
niespójny stan i funkcja swsusp_arch_suspend_exit() nie zostanie zachowana
wykonywalne mapowanie dowolnych wektorów wyjątków.
Każdy wyjątek zastosowany tutaj będzie śmiertelny i cichy.
(2) Po ponownym wejściu do wznowionego jądra niektóre bity DAIF będą czyste
niespodziewanie. Pozwala to na wyjątki debugowania, SError lub pseudo-NMI
należy podjąć przez krótki okres, dopóki wznowione jądro nie zostało jeszcze wznowione
w stanie spójnym.
Jest to wykrywane przez CONFIG_ARM64_DEBUG_PRIORITY_MASKING.
Aby uniknąć tych problemów, maskuj wszystkie wyjątki DAIF podczas wznawiania.
>_ Referencje
- https://git.kernel.org/stable/c/012823494e20c3cce622982ebd3fd6971be39ad2
- https://git.kernel.org/stable/c/099ad3edcef1d955d9f5d6aab16ae78ecdfd4cda
- https://git.kernel.org/stable/c/290c5b0c9fc0c61fb1c41421ed2394f955206ea0
- https://git.kernel.org/stable/c/5370853041a3cb53a125b77528586278f64b378b
- https://git.kernel.org/stable/c/684bde100117931f4c51c644a95f42f2dab041bc
- https://git.kernel.org/stable/c/716c41bd476334afb943308be9ff2142e34461b7
- https://git.kernel.org/stable/c/c9c671e9ab87b639720db8f7f8648bdf0f3bc8ec
- https://git.kernel.org/stable/c/d736ace2c491623c9ab5e73744085e93e9ae3ebe
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