Podatność integer overflow w funkcji xdr_array bibliotek SunRPC (libc, glibc, dietlibc) umożliwia zdalne wykonanie dowolnego kodu bez uwierzytelnienia. Zagrożone są serwery RPC działające na popularnych systemach operacyjnych, w tym FreeBSD, OpenBSD i Sun Solaris.
▸ Pokaż oryginał (EN)
Integer overflow in xdr_array function in RPC servers for operating systems that use libc, glibc, or other code based on SunRPC including dietlibc, allows remote attackers to execute arbitrary code by passing a large number of arguments to xdr_array through RPC services such as rpc.cmsd and dmispd.
Funkcja xdr_array odpowiedzialna za serializację danych w protokole RPC nie waliduje poprawnie rozmiaru przekazywanej tablicy argumentów, co prowadzi do integer overflow. Atakujący przesyła specjalnie spreparowane żądanie RPC zawierające bardzo dużą liczbę argumentów, powodując przepełnienie liczby całkowitej przy obliczaniu rozmiaru bufora. Skutkuje to nieprawidłową alokacją pamięci, którą napastnik może następnie wykorzystać do nadpisania obszarów pamięci i wykonania złośliwego kodu. Podatność można eksploitować przez usługi RPC takie jak rpc.cmsd oraz dmispd.
Zdalny, nieuwierzytelniony atakujący może uzyskać pełną kontrolę nad podatnym systemem poprzez wykonanie dowolnego kodu (RCE), co może skutkować przejęciem systemu, utratą danych lub naruszeniem poufności.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Producenci tacy jak Caldera, NetBSD i SGI opublikowali własne biuletyny bezpieczeństwa z poprawkami. Dodatkowo zaleca się ograniczenie dostępu do portów RPC za pomocą firewall oraz wyłączenie zbędnych usług RPC (rpc.cmsd, dmispd) jeśli nie są wymagane.
Systemy operacyjne wykorzystujące libc, glibc, dietlibc lub inne implementacje oparte na SunRPC: FreeBSD, OpenBSD, Sun Solaris, Sun SunOS oraz inne dystrybucje i systemy oparte na tych bibliotekach (m.in. Caldera OpenLinux, NetBSD, SGI IRIX, AIX)
Podatność dotyczy szerokiego ekosystemu systemów opartych na SunRPC — nie tylko systemów wymienionych w metadanych, ale potencjalnie każdego systemu korzystającego z libc/glibc z obsługą RPC. Biuletyny bezpieczeństwa zostały opublikowane przez Caldera, NetBSD, SGI oraz IBM (AIX).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFreebsd
OSFreebsd≤ 4.6.1Microsoft Windows 2000
OSMicrosoftwszystkie wersjeMicrosoft Windows Nt
OSMicrosoft4.0Microsoft Windows Xp
OSMicrosoftwszystkie wersjeOpenbsd
OSOpenbsd3.1Sun Solaris
OSSun2.69.0Sun Sunos
OSSun5.5.15.75.8
Powiązane podatności
Use-after-free w Microsoft Internet Explorer 6–11 umożliwia RCE
RCE w usłudze Server systemu Windows przez przepełnienie bufora w RPC
Double free i niezainicjowana zmienna w implementacji NFS systemu OpenBSD
FreeBSD UMTX_SHM_DESTROY: use-after-free umożliwiający RCE lub ucieczkę z sandboxa
RCE w implementacji NFS w OpenBSD i FreeBSD — zdalne wykonanie kodu