Cisco drošības pētnieki
Ievainojamību var izmantot, lai izpildītu kodu situācijā, kad uzbrucējs var organizēt mainīgā lieluma negatīvas vērtības veidošanu, caur kuru tiek pārsūtīts kopēto datu lielums (piemēram, pārsūtot vairāk nekā 2 GB, tas kļūs negatīvs datus, bet uzbrukuma laikā, lai pārsniegtu bufera ierobežojumus, ir jāpārsūta vismaz 4 GB). Funkcija memcpy () tiek plaši izmantota lietojumprogrammās, un ARMv7 procesori ir izplatīti automobiļu sistēmās, mobilajās, rūpnieciskajās, patērētāju, sakaru un iegultās ierīcēs, kuras var tikt pakļautas uzbrukumiem, izmantojot Bluetooth, HD radio/DAB, USB, CAN kopni, Wi-Fi Fi un citi ārējie datu avoti (piemēram, tīklā pieejamie pakalpojumi un lietojumprogrammas, kas pieņem ievades datus bez lieluma ierobežojumiem, var tikt uzbrukti).
Piemērs ir darba izmantošanas izveide, lai uzbruktu HTTP serverim, kas iebūvēts automašīnu informācijas sistēmās, kam var piekļūt, izmantojot automašīnu Wi-Fi tīklu. Ārējais uzbrucējs var izmantot šī servera memcpy ievainojamību, nosūtot ļoti lielu GET pieprasījumu un iegūt saknes piekļuvi sistēmai.
32 bitu x86 sistēmās problēma neparādās, jo memcpy implementācija šai arhitektūrai pareizi interpretē lieluma mainīgo kā neparakstītu vesela skaitļa vērtību tipa size_t (montāžas valodā
Labojuma mērķis ir aizstāt montāžas instrukcijas, kas darbojas ar parakstītiem operandiem (bge un blt), ar neparakstītiem ekvivalentiem (blo un bhs).
Problēma vēl nav atrisināta
Avots: opennet.ru