Podatność typu integer underflow w podsystemie NFSD jądra Linux może zostać wykorzystana zdalnie bez uwierzytelnienia. Wynika z braku dolnego ograniczenia na zmienną args->len, co potencjalnie prowadzi do nieprzewidywalnego zachowania systemu.
▸ Pokaż oryginał (EN)
In the Linux kernel, the following vulnerability has been resolved: NFSD: prevent underflow in nfssvc_decode_writeargs() Smatch complains: fs/nfsd/nfsxdr.c:341 nfssvc_decode_writeargs() warn: no lower bound on 'args->len' Change the type to unsigned to prevent this issue.
W funkcji nfssvc_decode_writeargs() w pliku fs/nfsd/nfsxdr.c zmienna args->len była zadeklarowana jako typ ze znakiem (signed), co oznaczało brak dolnego ograniczenia wartości. Narzędzie Smatch wykryło, że wartość tej zmiennej mogła zejść poniżej zera, powodując integer underflow. Zmiana typu na unsigned eliminuje możliwość wystąpienia tego błędu.
Atakujący zdalnie, bez uwierzytelnienia i interakcji użytkownika, może potencjalnie uzyskać pełny dostęp do poufności, integralności i dostępności systemu — co odpowiada wektorowi CVSS z oceną 9.8 (CRITICAL).
Należy zastosować patche dostępne u producenta zgodnie z referencjami: commity 184416d4b985, 2764af8ce0bf, 413d8fefafe5, 614a61e15920 w repozytorium stable Linux kernel.
Jądro Linux w wersjach wskazanych w referencjach producenta (patche dostępne w repozytorium stable kernel.org).
Podatność została wykryta przez narzędzie do statycznej analizy kodu Smatch, które zgłosiło ostrzeżenie dotyczące braku dolnego ograniczenia na zmienną args->len w fs/nfsd/nfsxdr.c:341.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux Kernel
OSLinux< 4.9.3114.10 – 4.14.276 (bez)4.15 – 4.19.238 (bez)4.20 – 5.4.189 (bez)5.5 – 5.10.110 (bez)5.11 – 5.15.33 (bez)5.16 – 5.16.19 (bez)5.17 – 5.17.2 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
RCE przez YAML deserialization w IBM Aspera Faspex
RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection
Command Injection w VMware Workspace One Access i Identity Manager