Cisco Security Researchers
Ranjivost se može iskoristiti za izvršavanje koda u situaciji kada napadač može organizirati formiranje negativne vrijednosti varijable kroz koju se prenosi veličina kopiranih podataka (na primjer, ona će postati negativna kada prenese više od 2 GB podataka). podataka, ali tokom napada, da biste prešli granice bafera, potrebno je prenijeti najmanje 4 GB). Funkcija memcpy() se široko koristi u aplikacijama, a ARMv7 procesori su uobičajeni u automobilskim sistemima, mobilnim, industrijskim, potrošačkim, komunikacijskim i ugrađenim uređajima, koji su potencijalno podložni napadima korištenjem Bluetootha, HD radija/DAB, USB-a, CAN magistrale, Wi-Fi Fi i drugi vanjski izvori podataka (na primjer, usluge i aplikacije dostupne preko mreže koje prihvataju ulazne podatke bez ograničenja veličine mogu biti napadnuti).
Primjer je stvaranje funkcionalnog eksploatiranja za napad na HTTP server ugrađen u automobilske informacione sisteme, dostupnom preko automobilske Wi-Fi mreže. Vanjski napadač bi mogao iskoristiti memcpy ranjivost na ovom serveru slanjem vrlo velikog GET zahtjeva i dobiti root pristup sistemu.
Na 32-bitnim x86 sistemima, problem se ne pojavljuje, pošto memcpy implementacija za ovu arhitekturu ispravno tumači varijablu veličine kao neoznačenu cjelobrojnu vrijednost tipa size_t (u asemblerskom jeziku
Popravka se svodi na zamjenu upotrebe asemblerskih instrukcija koje rade na potpisanim operandima (bge i blt) nepotpisanim pandanima (blo i bhs).
Problem još nije riješen
izvor: opennet.ru