goto fail; goto fail;

Feb 23, 2014 21:31

Случайно (или нарочно?) продублированный оператор goto качественно сломал SSL/TLS в недавнем обновлении iOS, позволяя использовать произвольные одноразовые ключи, не имеющие никакого отношения к серверному сертификату, поскольку подписи их перестали проверяться.

https://www.imperialviolet.org/2014/02/22/applebug.html
http://bugtraq.ru/rsn/archive/2014/02/02.html

См. http://opensource.apple.com/source/Security/Security-55471/libsecurity_ssl/lib/sslKeyExchange.c в SSLVerifySignedServerKeyExchange():

if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;

Upd: желающие могут заказать футболочку до ближайшего четверга: http://teespring.com/goto-fail-goto-fail (via some41).

ssl, ios, apple

Previous post Next post
Up