CVE-2026-90312
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
bpf: Sprawdź typ obciążenia src ptr przed załadowaniem
check_atomic_load() wywołuje funkcję check_load_mem() przed funkcją atomic_ptr_type_ok().
W przypadku pobierania obciążenia, które pobiera do własnego rejestru źródłowego (dst_reg ==
src_reg), check_load_mem() zastępuje typ src_reg typem
załadowana wartość, więc kolejna funkcja atomic_ptr_type_ok() nie widzi już
wskaźnik źródła i nie odrzuca niedozwolonych typów (ctx, pkt,
flow_keys, skarpetka).
Ponieważ bpf_convert_ctx_accesses() nie przepisuje ładunków atomowych, plik raw
dostęp do podstawowego obiektu jądra pozostaje niezmieniony. Miejsce docelowe
type jest pobierany z samego dostępu ctx, więc pobierane jest obciążenie sk
pole struktury __sk_buff pozostawia na przykład rejestr wpisany jako
PTR_TO_SOCK_COMMON_OR_NULL, który type_is_sk_pointer() nie pasuje
albo, podczas gdy faktycznie przechowuje nieprzekonwertowane bajty struct sk_buff. Raz
kontrola NULL zakończyła się pomyślnie. Jest to pomyłka typu, a nie tylko wyciek
dane jądra.
Sprawdź poprawność src_reg za pomocą check_reg_arg() i sprawdź typ wskaźnika źródła
z atomic_ptr_type_ok() przed ponownym załadowaniem, dublowanie
check_atomic_rmw(). Numery rejestrów spoza zakresu są już odrzucane
wcześniej przez check_and_resolve_insns() (zatwierdź 503d21ef8eac („bpf: Wykonaj
zarejestruj wczesną walidację zakresu”)) i jest tam jedynym wyjątkiem,
is_stack_arg_ldx(), wymaga BPF_LDX | BPF_MEM | BPF_DW i dlatego nigdy
odpowiada insn BPF_ATOMIC. Dlatego atomic_ptr_type_ok() nie może
Stan rejestru dereferencji poza zakresem, to znaczy poza zakresem
read, do którego odnosi się poniższe zatwierdzenie poprawek, nie pojawia się ponownie (jak udowodniono
również poprzez autotest).
>_ 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