Ciscon tietoturvatutkijat
Haavoittuvuutta voidaan hyödyntää koodin suorittamisessa tilanteessa, jossa hyökkääjä voi järjestää negatiivisen arvon muodostuksen muuttujalle, jonka kautta kopioitujen tietojen koko välitetään (esimerkiksi se muuttuu negatiiviseksi siirrettäessä yli 2 Gt tietoja, mutta hyökkäyksen aikana puskurin rajojen ylittämiseksi sinun on siirrettävä vähintään 4 Gt). Memcpy()-toimintoa käytetään laajalti sovelluksissa, ja ARMv7-prosessorit ovat yleisiä autojärjestelmissä, mobiili-, teollisuus-, kuluttaja-, viestintä- ja sulautetuissa laitteissa, jotka ovat mahdollisesti alttiina hyökkäyksille Bluetoothin, HD Radio/DAB:n, USB:n, CAN-väylän, Wi-Fi Fi ja muut ulkoiset tietolähteet (esimerkiksi verkon kautta saatavilla olevat palvelut ja sovellukset, jotka hyväksyvät syötetiedot ilman kokorajoituksia, voidaan hyökätä).
Esimerkki on toimivan hyväksikäytön luominen auton tietojärjestelmiin sisäänrakennetun HTTP-palvelimen hyökkäämiseksi, joka on käytettävissä auton Wi-Fi-verkon kautta. Ulkopuolinen hyökkääjä voi hyödyntää tämän palvelimen memcpy-haavoittuvuutta lähettämällä erittäin suuren GET-pyynnön ja saada pääkäyttäjän oikeudet järjestelmään.
32-bittisissä x86-järjestelmissä ongelmaa ei ilmene, koska tämän arkkitehtuurin memcpy-toteutus tulkitsee kokomuuttujan oikein etumerkittömäksi kokonaislukuarvoksi tyyppiä size_t (kokoonpanokielellä
Korjaus tiivistyy siihen, että allekirjoitetuille operandeille (bge ja blt) toimivien kokoonpanoohjeiden käyttö korvataan allekirjoittamattomilla vastineilla (blo ja bhs).
Ongelmaa ei ole vielä ratkaistu
Lähde: opennet.ru