Найти тему
Habr.com

История однострочных багов

Компания Apple недавно допустила крупную ошибку, забыв удалить лишнюю строчку с оператором безусловного перехода goto посередине функции SSLVerifySignedServerKeyExchange для проверки серверной подписи при установке SSL-соединения. В результате, функция успешно завершала работу, независимо от результата проверки подписи.

Однако, это не первый случай в истории, когда критическая ошибка объясняется единственной строчкой кода. Вот ещё
несколько таких примеров.

X Server

В 2006 году было обнаружено, что X Server проверяет рутовые права у пользователя, но при этом разработчики в реальности забыли вызвать соответствующую функцию.

Debian OpenSSL

В 2008 году Debian признала, что генератор псевдослучайных чисел в её «фирменной» реализации OpenSSL от 2006 года на самом деле генерирует предсказуемые числа.

-2

Причина в том, что важную строчку включили в комментарий. Совершенно непонятно, как такой заметный баг попал в финальный релиз, как будто никто вообще не проверял код. Кстати, многие тогда заподозрили Debian в том, что она «поломала» ГПСЧ не случайно.

Стандартный OpenSSL

Ещё один баг в OpenSSL, и опять из 2008 года. OpenSSL 0.9.8i и более ранние версии «некорректно проверяли значение, которое возвращает функция EVP_VerifyFinal, что позволяло злоумышленникам обходить валидацию сертификата с помощью поддельных подписей SSL/TLS для ключей DSA и ECDSA».

-3

Android

Посмотрите на патч для memset.c от 11 мая 2010 года.

-4

Вместо корректного параметра в память записывается нуль. То есть один из передаваемых в функцию параметров вообще не используется.

Tarsnap

Автор программы Tarsnap, онлайн-сервиса защищённого хранения резервных копий на Amazon S3, в 2011 году сообщил о баге в процедуре генерации случайного значения (nonce) при шифровании данных.

-5

Новое случайное значение должно было генерироваться для каждых 16 байт шифруемых данных, но в реальности оно вообще не менялось.

Так что не только Apple допускает ошибки.

Оригинал статьи на Хабре (2014 год)
К лучшим публикациям Хабра за сутки