Ciscovi istraživači sigurnosti
Ranjivost se može iskoristiti za izvršavanje koda u situaciji u kojoj napadač može organizirati formiranje negativne vrijednosti varijable kroz koju se prenosi veličina kopiranih podataka (primjerice, postat će negativna pri prijenosu više od 2 GB podataka, ali tijekom napada, da biste prešli granice međuspremnika, trebate prenijeti najmanje 4 GB). Funkcija memcpy() naširoko se koristi u aplikacijama, a ARMv7 procesori uobičajeni su u automobilskim sustavima, mobilnim, industrijskim, potrošačkim, komunikacijskim i ugrađenim uređajima, koji su potencijalno podložni napadima koristeći Bluetooth, HD Radio/DAB, USB, CAN sabirnicu, Wi-Fi Fi i drugi vanjski izvori podataka (na primjer, usluge i aplikacije dostupne putem mreže koje prihvaćaju ulazne podatke bez ograničenja veličine mogu biti napadnute).
Primjer je stvaranje radnog exploita za napad na HTTP poslužitelj ugrađen u automobilske informacijske sustave, dostupan putem automobilske Wi-Fi mreže. Vanjski napadač mogao bi iskoristiti memcpy ranjivost na ovom poslužitelju slanjem vrlo velikog GET zahtjeva i dobiti root pristup sustavu.
Na 32-bitnim x86 sustavima problem se ne pojavljuje, budući da memcpy implementacija za ovu arhitekturu ispravno tumači varijablu veličine kao nepredznačenu vrijednost cijelog broja tipa size_t (u asemblerskom jeziku
Popravak se svodi na zamjenu upotrebe asemblerskih instrukcija koje rade na potpisanim operandima (bge i blt) s nepotpisanim pandanima (blo i bhs).
Problem još nije riješen
Izvor: opennet.ru