Cisco säkerhetsforskare
Sårbarheten kan utnyttjas för att exekvera kod i en situation där angriparen kan organisera bildningen av ett negativt värde för variabeln genom vilken storleken på kopierad data överförs (till exempel kommer den att bli negativ vid överföring av mer än 2 GB av data, men under attacken måste du överföra minst 4 GB för att överskrida buffertgränserna). Funktionen memcpy() används ofta i applikationer, och ARMv7-processorer är vanliga i bilsystem, mobila, industriella, konsument-, kommunikations- och inbäddade enheter, som potentiellt är utsatta för attacker med Bluetooth, HD Radio/DAB, USB, CAN-buss, Wi-Fi Fi och andra externa datakällor (till exempel tjänster och applikationer tillgängliga över nätverket som accepterar indata utan storleksbegränsningar kan attackeras).
Ett exempel är skapandet av en fungerande exploatering för att attackera en HTTP-server inbyggd i bilinformationssystem, tillgänglig via bilens Wi-Fi-nätverk. En extern angripare kan utnyttja en memcpy-sårbarhet på denna server genom att skicka en mycket stor GET-förfrågan och få root-åtkomst till systemet.
På 32-bitars x86-system uppstår inte problemet, eftersom memcpy-implementeringen för den här arkitekturen korrekt tolkar storleksvariabeln som ett osignerat heltalsvärde av typen size_t (i assemblerspråk)
Fixeringen går ut på att ersätta användningen av monteringsinstruktioner som fungerar på signerade operander (bge och blt) med osignerade motsvarigheter (blo och bhs).
Problemet är ännu inte löst
Källa: opennet.ru