Odebrany

CVE-2026-89541

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

SUNRPC: wzmocnij sprawdzanie długości gss_unwrap_resp_priv

gss_unwrap_resp_priv() sprawdza nieprzezroczystą długość RPCSEC_GSS za pomocą

offset = (u8 *)(p) - (u8 *)head->iov_base;
if (offset + nieprzezroczysty_len > rcv_buf->len)
muszę rozpakować_failed;
maj_stat = gss_unwrap(ctx->gc_gss_ctx, przesunięcie,
offset + nieprzezroczysty_len, rcv_buf);

Oba operandy to u32, a suma jest obliczana w u32. Odpowiedź z
opaque_len w pobliżu 0xffffffff powoduje zawijanie offsetu + opaque_len do małego
wartość poniżej rcv_buf->len, więc powiązana kontrola przechodzi pomyślnie i
gss_unwrap() jest wywoływana z końcem < początkiem. Na czeku brakuje również a
dolna granica, więc każdy opaque_len w [0, GSS_KRB5_TOK_HDR_LEN) to
zaakceptowany i przekazany do gss_krb5_unwrap_v2(), którego plik wstępnie odszyfrowuje
nagłówek czyta ptr+4 i ptr+6, a następnie przebiega obok tokena.

Serwer krb5p NFS zwracający spreparowaną odpowiedź RPCSEC_GSS może sterować
klient trafia poza zakres, czyta w gss_krb5_unwrap_v2() i
następująca po nim pętla obrót_left().

Napraw, zastępując pojedynczy łączony czek trzema strażnikami
są bezpieczne w arytmetyce u32 i które wymuszają minimum RFC 4121
zewnętrzna długość tokena:

if (offset > rcv_buf->len)
muszę rozpakować_failed;
if (opaque_len > rcv_buf->len - przesunięcie)
muszę rozpakować_failed;
if (nieprzezroczysty_len < GSS_KRB5_TOK_HDR_LEN)
muszę rozpakować_failed;

Pierwszy strażnik dokonuje odejmowania w drugim strażniku
bezwarunkowo bezpieczny; przesunięcie pochodzi od udanego
xdr_inline_decode() w nagłówku kvec, więc w praktyce już to działa
spełnia granicę. Podłoga odzwierciedla dodaną kontrolę po stronie serwera
w zatwierdzeniu 5b757c2e57a5 („SUNRPC: svcauth_gss: wymuszanie tokenu krb5
minimalna długość”).

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