CVE-2026-90339
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
powerpc/syscall: Naprawiono obsługę pomijania wywołań systemowych dla seccomp i ptrace
Po włączeniu GENERIC_ENTRY na PowerPC, syscall_enter_from_user_mode()
zwraca -1 jako wskaźnik sygnalizujący przechwycenie przez seccomp lub ptrace
wywołanie systemowe i już ustawiłem wartość zwracaną za pomocą syscall_set_return_value().
system_call_exception() nie obsługiwał tego wartownika, a od -1UL
wynosi >= NR_syscalls, kod wpadł na ścieżkę poza zakresem i został zwrócony
-ENOSYS, nadpisz errno już umieszczone w regs->gpr[3].
Naiwna poprawka polegająca na sprawdzaniu r0 == -1L przed sprawdzeniem granic NR_syscalls
jest niejednoznaczne: użytkownik legalnie wywołujący syscall(-1) również generuje r0 ==
-1L, a znacznik przechwytujący takie połączenie miałby swój wstrzyknięty zwrot
wartość po cichu odrzucona.
Napraw to, wprowadzając flagę wątku, która jest ustawiana za każdym razem
syscall_set_return_value() jawnie aktualizuje zwracaną wartość. w
system_call_exception(), sprawdź i usuń tę flagę przed wysłaniem
wywołanie systemowe i zwróć bezpośrednio ustawioną wartość, jeśli jest obecna.
Zapewnia to, że jawnie podana wartość zwracana zawsze jest pomijana
wykonanie wywołania systemowego, niezależnie od numeru wywołania systemowego.
To poprawnie obsługuje wszystkie akcje seccomp:
- SECCOMP_RET_ERRNO, SECCOMP_RET_TRACE (bez znacznika), SECCOMP_RET_USER_NOTIF:
wszystkie wywołania syscall_set_return_value(), flaga jest ustawiona, zwrócona została wstrzyknięta wartość.
- SECCOMP_RET_TRAP, SECCOMP_RET_KILL: wywołaj syscall_rollback() i dostarcz
sygnał; flaga nie jest ustawiona, ale proces umiera, więc wartość zwracana
jest nieistotne.
Poprawka obejmuje zarówno ppc32, jak i ppc64 bez #ifdefs.
>_ 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