Bezpečnostní výzkumníci společnosti Cisco
Zranitelnost lze zneužít ke spuštění kódu v situaci, kdy útočník může zorganizovat vytvoření záporné hodnoty proměnné, přes kterou se přenáší velikost zkopírovaných dat (např. bude záporná při přenosu více než 2 GB dat). data, ale během útoku, abyste překročili limity vyrovnávací paměti, musíte přenést alespoň 4 GB). Funkce memcpy() je široce používána v aplikacích a procesory ARMv7 jsou běžné v automobilových systémech, mobilních, průmyslových, spotřebitelských, komunikačních a vestavěných zařízeních, která jsou potenciálně vystavena útokům pomocí Bluetooth, HD Radio/DAB, USB, CAN sběrnice, Wi-Fi Fi a další externí zdroje dat (například služby a aplikace dostupné přes síť, které přijímají vstupní data bez omezení velikosti mohou být napadeny).
Příkladem je vytvoření funkčního exploitu k útoku na HTTP server zabudovaný do automobilových informačních systémů, přístupný přes automobilovou Wi-Fi síť. Vnější útočník by mohl zneužít zranitelnost memcpy na tomto serveru odesláním velmi velkého požadavku GET a získat root přístup k systému.
Na 32bitových systémech x86 se problém neobjevuje, protože implementace memcpy pro tuto architekturu správně interpretuje proměnnou size jako celočíselnou hodnotu bez znaménka typu size_t (v jazyce symbolických instrukcí
Oprava se scvrkává na nahrazení použití montážních pokynů, které fungují na podepsaných operandech (bge a blt) nepodepsanými protějšky (blo a bhs).
Problém dosud nebyl vyřešen
Zdroj: opennet.ru