X.509 ప్రమాణపత్రాలను ధృవీకరించేటప్పుడు OpenSSLలో బఫర్ ఓవర్‌ఫ్లో ఉపయోగించబడింది

Опубликован корректирующий выпуск криптографической библиотеки OpenSSL 3.0.7, в котором устранены две уязвимости. Обе проблемы вызваны переполнением буфера в коде проверки поля с email-адресом в сертификатах X.509 и потенциально могут привести к выполнению кода при обработке специально оформленного сертификата. На момент публикации исправления разработчиками OpenSSL не было зафиксировано фактов наличия рабочего эксплоита, способного привести к выполнению кода атакующего.

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

В рассматриваемом случае уровень опасности был снижен, так как в ходе детального анализа уязвимости несколькими организациями был сделан вывод, что возможность выполнения кода в ходе эксплуатации блокируется применяемыми во многих платформах механизмами защиты от переполнения стека. Кроме того, применяемая в некоторых дистрибутивах Linux раскладка сетка приводит к тому, что выходящие за границу 4 байта накладываются на следом идущий в стеке буфер, который ещё не используется. Тем не менее, не исключено, что существуют и такие платформы, в которых возможна эксплуатация для выполнения кода.

గుర్తించబడిన సమస్యలు:

  • CVE-2022-3602 — уязвимость, изначально преподнесённая как критическая, приводит к 4-байтовому переполнению буфера при проверке в сертификате X.509 поля со специально оформленным email-адресом. В TLS-клиенте уязвимость может быть эксплуатирована при подключении к серверу, подконтрольному атакующему. На TLS-сервере уязвимость может быть эксплуатирована в случае применения аутентификации клиентов по сертификатам. При этом уязвимость проявляется на стадии после верификации связанной с сертификатом цепочки доверия, т.е. для атаки требуется чтобы удостоверяющий центр заверил вредоносный сертификат злоумышленника.
  • CVE-2022-3786 — другой вектор эксплуатации уязвимости CVE-2022-3602, выявленный в ходе разбора проблемы. Отличия сводятся к возможности переполнения буфера в стеке на произвольное число байт, содержащих символ «.» (т.е. атакующий не может управлять содержимым переполнения и проблема может быть использована только для вызова аварийного завершения приложения).

Уязвимости проявляются только в ветке OpenSSL 3.0.x (ошибка появилась в коде преобразования Unicode (punycode), добавленном в ветку 3.0.x). Выпуски OpenSSL 1.1.1, а также ответвившиеся от OpenSSL библиотеки LibreSSL и BoringSSL, проблеме не подвержены. Одновременно сформировано обновление OpenSSL 1.1.1s, в котором присутствуют только не связанные с безопасностью исправления ошибок.

Ветка OpenSSL 3.0 используется в таких дистрибутивах, как Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, Debian Testing/Unstable. Пользователям данных систем рекомендуется как можно скорее установить обновления (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). В SUSE Linux Enterprise 15 SP4 и openSUSE Leap 15.4 пакеты с OpenSSL 3.0 доступны опционально, системные пакеты используют ветку 1.1.1. На ветках OpenSSL 1.x остаются Debian 11, Arch Linux, Void Linux, Ubuntu 20.04, Slackware, ALT Linux, RHEL 8, OpenWrt, Alpine Linux 3.16 и FreeBSD.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి