23.02 // Лишний goto поломал SSL/TLS в iOS
Анализ внезапно выпущенного на днях обновления iOS до версии 7.0.6 выявил замечательную ошибку, позволяющую сайту отдавать iOS-устройствам одноразовые ключи, подписи которых вообще не имели отношения к его сертификату. Т.е. приводящей к фактически полной неработоспособности всего механизма SSL/TLS.
Причина ошибки – лишний goto (привет копипасту), который всегда приводил к переходу в конец функции, минуя проверку sslRawVerify.
А вообще, увидев в 21 веке такое количество goto в коде, хочется передать отдельный привет отпраздновавшему на той неделе 80 лет Вирту. Спагетти-код неистребим.
Источник: http://bugtraq.ru/rsn/archive/2014/02/02.html
Много комментариев (13) [показать комментарии/форму]
Ваша оценка документа [показать результаты]