macOS SMBClient: Udaljeno izvršavanje koda i pad kernela omogućeno, hitno ažurirajte.

Otkrivene su brojne ranjivosti u macOS SMBClientu koje bi napadačima mogle omogućiti daljinsko izvršavanje proizvoljnog koda i urušavanje sistema.

Ove ranjivosti, koje utiču na SMB klijenta za datotečne sisteme koji se koristi za montiranje udaljenih dijeljenih datoteka, predstavljaju značajan sigurnosni rizik, s obzirom na to da je SMB preferirani protokol za dijeljenje datoteka još od macOS Big Sur verzije.

Dvije od ovih propusta dodijeljeni su identifikatorima CVE (CVE-2025-24269 i CVE-2025-24235), dok treći još uvijek nema dodijeljeni identifikator.

Ključne informacije:

1. Otkrivene su tri kritične ranjivosti u macOS SMBClientu, pri čemu su CVE-2025-24269 i CVE-2025-24235 dodijeljeni odgovarajućim identifikatorima.
2. Daljinsko izvršavanje koda je moguće putem prelivanjâ memorije u jezgri (kernel heap overflow) prilikom rukovanja SMB2 kompresijom, što omogućava kompromitovanje sistema.
3. Propusti koji omogućavaju zaobilaženje autentifikacije i eskalaciju privilegija doprinose oštećenju memorije i neautorizovanom prekidanju procesa, uključujući urušavanje sistema.
4. Apple je izdao zakrpe koje uključuju ispravke validacije ulaznih podataka i kontrole pristupa; korisnici bi se trebali odmah ažurirati i onemogućiti SMB usluge kao mjeru predostrožnosti.

Daljinsko prelivanje memorije u jezgri

Najozbiljnija ranjivost, praćena kao CVE-2025-24269, nalazi se u funkciji smb2_rq_decompress_read unutar ekstenzije jezgre smbfs.kext. Propust nastaje prilikom obrade komprimiranih SMB2 podataka korištenjem lančanih algoritama kompresije, uključujući SMB2_COMPRESSION_LZNT1, SMB2_COMPRESSION_LZ77 i SMB2_COMPRESSION_LZ77_HUFFMAN. Ranljivost proizlazi iz nedovoljne validacije parametra compress_len koji se čita iz mrežnih podataka. Kada se aktivira putanja kompresije, sistem ne uspijeva validirati tu dužinu prije izvođenja operacije kopiranja memorije pomoću md_get_mem i MB_MSYSTEM, što se prevodi kao bcopy operacija u compress_startp. Ovo stvara uvjete prelivanjâ memorije na hrpi (heap memory overflow) gdje napadači mogu kontrolisati količinu prelivanjâ i uticati na veličinu alocirane memorije koja se oštećuje, potencijalno do 32MB (2*kDefaultMaxIOSize). Prelivanjе se dešava u baferima alociranim putem makroa SMB_MALLOC_DATA, koji obavija kalloc_data, smještajući oštećenu memoriju u xnu data heap. Propust je otklonjen sveobuhvatnom validacijom parametra compress_len prije operacija kopiranja memorije.

Ranjivost Kerberos autentifikacije

Druga kritična ranjivost, CVE-2025-24235, pogađa komponentu Kerberos Helper koja se koristi tokom uspostavljanja SMB sesije. Propust se nalazi u funkciji _KRBDecodeNegTokenInit, gdje se varijabla tipa Union pod nazivom NegotiationToken deklarira na steku, ali nikada nije pravilno inicijalizirana. Kada funkcija gss_decapsulate_token ne uspije tokom autentifikacije, kod skače na oznaku free_negtoken_3, zaobilazeći logiku inicijalizacije za strukturu NegotiationToken. Ovo dovodi do pozivanja _free_NegotiationToken na neinicijalizovanoj memoriji, što na kraju poziva _asn1_free() koristeći neinicijalizovani tip tokena kao predložak za parsiranje i oslobađanje neželjenih podataka. Ova ranjivost se može pokrenuti daljinski putem SMB URL handlera ili naredbe mount_smbfs, potencijalno rezultirajući daljinskim izvršavanjem koda. Propust je riješen implementacijom pravilne inicijalizacije memorije korištenjem memset() prije upotrebe NegotiationTokena.

Lokalna eskalacija privilegija

Treća ranjivost uključuje ioctl naredbu SMBIOC_UPDATE_NOTIFIER_PID u kernel modulu smbfs, kojem nedostaje odgovarajuća provjera dozvola. Ovaj propust omogućava bilo kojem procesu bez privilegija da registrira proizvoljne procesne identifikatore u kernel sistemu za obavještavanje o višekanalnom SMB-u. Kada se SMB datotečni sistem odmontira, jezgra šalje SIGTERM signal registrovanom PID-u koristeći proc_signal(). Budući da ne postoji provjera da li pozivajući proces ima dozvolu signalizirati ciljni proces, napadači mogu efikasno poslati SIGTERM bilo kojem procesu na sistemu, uključujući kritične sistemske procese poput launchda, uzrokujući trenutno urušavanje sistema. Za ovaj propust eskalacije privilegija koji uključuje SMBIOC_UPDATE_NOTIFIER_PID, Apple je implementirao kontrole pristupa zasnovane na dozvolama. Sigurnosni istraživači Dave G. i Alex Radocea zaslužni su za otkrivanje tri kritične ranjivosti u macOS SMBClientu. Onemogućavanje usluga dijeljenja datoteka putem SMB-a smanjuje površinu za napad sprječavanjem daljinskih veza ka ranjivim SMB implementacijama. Sigurnosni stručnjaci preporučuju hitnu primjenu zakrpa putem ažuriranja sistema macOS. Organizacije bi trebale dati prioritet testiranju i implementaciji ovih ispravki, posebno u okruženjima sa visokom upotrebom SMB-a. Redovni sigurnosni reviziji bi trebali potvrditi da konfiguracije SMB-a slijede princip najmanjih privilegija, sa onemogućenim nepotrebnim uslugama.

Recent Articles

spot_img

Related Stories