Cisco қауіпсіздік зерттеушілері
Осалдықты шабуылдаушы көшірілген деректердің өлшемі тасымалданатын айнымалының теріс мәнін қалыптастыруды ұйымдастыра алатын жағдайда кодты орындау үшін пайдаланылуы мүмкін (мысалы, ол 2 ГБ-тан астам файлды тасымалдау кезінде теріс болады. деректер, бірақ шабуыл кезінде буфер шегінен шығу үшін кем дегенде 4 ГБ тасымалдау керек). memcpy() функциясы қолданбаларда кеңінен қолданылады және ARMv7 процессорлары Bluetooth, HD Radio/DAB, USB, CAN шинасы, Wi-Fi және басқа сыртқы деректер көздері (мысалы, кіріс деректерін өлшемді шектеусіз қабылдайтын желі арқылы қол жетімді қызметтер мен қолданбаларға шабуыл жасалуы мүмкін).
Мысал ретінде автомобильдік Wi-Fi желісі арқылы қол жеткізуге болатын автомобильдік ақпараттық жүйелерге орнатылған HTTP серверіне шабуыл жасау үшін жұмыс істейтін эксплойт жасауды келтіруге болады. Сыртқы шабуылдаушы өте үлкен GET сұрауын жіберу арқылы осы сервердегі memcpy осалдығын пайдалана алады және жүйеге түбірлік рұқсат алады.
32-биттік x86 жүйелерінде мәселе пайда болмайды, себебі осы архитектураға арналған memcpy іске асыру өлшем айнымалысын size_t түріндегі таңбасыз бүтін мән ретінде дұрыс түсіндіреді (ассемблер тілінде
Түзету қол қойылған операндтарда (bge және blt) жұмыс істейтін құрастыру нұсқауларын қолтаңбасы жоқ аналогтармен (blo және bhs) ауыстыруға дейін төмендейді.
Мәселе әлі шешілген жоқ
Ақпарат көзі: opennet.ru