Уязвимость OpenSSL когда-то была отмечена как первое исправление критического уровня с тех пор, как была исправлена ошибка Heartbleed, влияющая на Интернет. В конечном итоге он появился как исправление «высокой безопасности» для переполнения буфера, которое влияет на все установки OpenSSL 3.x, но вряд ли приведет к удаленному выполнению кода.
OpenSSL версии 3.0.7 был анонсирован на прошлой неделе как критический патч безопасности. Конкретные уязвимости (теперь CVE-2022-37786 и CVE-2022-3602 ) были в значительной степени неизвестны до сегодняшнего дня, но аналитики и компании по веб-безопасности намекнули, что могут быть заметные проблемы и проблемы с обслуживанием. Некоторые дистрибутивы Linux, в том числе Fedora , откладывают выпуск до тех пор, пока не будет выпущен патч. Гигант дистрибуции Akamai перед патчем отметил, что половина их отслеживаемых сетей имеет по крайней мере одну машину с уязвимым экземпляром OpenSSL 3.x, и среди этих сетей уязвимыми являются от 0,2 до 33 процентов машин.
Но конкретные уязвимости — ограниченные обстоятельства, переполнения на стороне клиента, которые смягчаются компоновкой стека на большинстве современных платформ — теперь исправлены и оценены как «высокие». И поскольку OpenSSL 1.1.1 все еще находится в долгосрочной поддержке, OpenSSL 3.x не так широко распространен.
Эксперт по вредоносным программам Маркус Хатчинс указывает на коммит OpenSSL на GitHub , в котором подробно описаны проблемы с кодом: «исправлено два переполнения буфера в функциях декодирования кода». Вредоносный адрес электронной почты, подтвержденный сертификатом X.509, может вызвать переполнение байтов в стеке, что приведет к сбою или потенциально удаленному выполнению кода, в зависимости от платформы и конфигурации.
Но эта уязвимость в основном затрагивает клиентов, а не серверы, поэтому сброс безопасности в Интернете (и абсурд), такой как Heartbleed, вряд ли последует. Например, могут быть затронуты VPN, использующие OpenSSL 3.x и такие языки, как Node.js. Эксперт по кибербезопасности Кевин Бомонт отмечает , что защита от переполнения стека в стандартных конфигурациях большинства дистрибутивов Linux должна предотвращать выполнение кода.
Что изменилось между критическим объявлением и выпуском высокого уровня? Команда безопасности OpenSSL пишет в своем блоге , что примерно через неделю организации протестировали и предоставили отзывы. В некоторых дистрибутивах Linux 4-байтовое переполнение, возможное в одной атаке, перезаписывало соседний буфер, который еще не использовался, и, следовательно, не могло привести к сбою системы или запуску кода. Другая уязвимость позволяла злоумышленнику установить только длину переполнения, но не его содержимое.
Таким образом, хотя сбои все еще возможны, а некоторые стеки могут быть организованы для удаленного выполнения кода, это маловероятно или легко, что снижает уязвимость до «высокой». Однако пользователям любой реализации OpenSSL версии 3.x следует установить исправление как можно скорее. И каждый должен следить за обновлениями программного обеспечения и ОС, которые могут исправить эти проблемы в различных подсистемах.
Служба мониторинга Datadog в хорошем изложении проблемы отмечает, что ее исследовательская группа по безопасности смогла потерпеть неудачу при развертывании Windows с использованием версии OpenSSL 3.x в качестве доказательства концепции. И хотя развертывания Linux вряд ли можно будет взломать, «эксплойт, созданный для развертываний Linux», все же может появиться.
У Национального центра кибербезопасности Нидерландов (NCSL-NL) есть актуальный список программного обеспечения, уязвимого для эксплойта OpenSSL 3.x. Многочисленные популярные дистрибутивы Linux, платформы виртуализации и другие инструменты перечислены как уязвимые или находящиеся под следствием.