Galimybė generuoti netikrus ECDSA parašus Java SE. „MySQL“, „VirtualBox“ ir „Solaris“ pažeidžiamumas

„Oracle“ paskelbė planuojamą savo produktų naujinimų leidimą (Critical Patch Update), kuriuo siekiama pašalinti kritines problemas ir pažeidžiamumą. Balandžio mėnesio atnaujinimas iš viso ištaisė 520 spragų.

Keletas problemų:

  • 6 проблем с безопасностью в Java SE. Все уязвимости могут быть эксплуатированы удалённо без проведения аутентификации и затрагивают окружения, допускающие выполнение не заслуживающего доверия кода. Двум проблемам присвоен уровень опасности 7.5. Уязвимости устранены в выпусках Java SE 18.0.1, 11.0.15 и 8u331.

    Одна из проблем (CVE-2022-21449) позволяет сгенерировать фиктивную цифровую подпись ECDSA, используя при её генерации нулевые параметры кривой (если параметры нулевые, то кривая уходит в бесконечность, поэтому нулевые значения явно запрещены в спецификации). В библиотеках Java отсутствовала проверка на нулевые значения параметров ECDSA, поэтому при обработке подписей с нулевыми параметрами, Java во всех случаях считал их валидными).

    В том числе уязвимость может использоваться для генерации фиктивных TLS-сертификатов, которые будут приниматься в Java как корректные, а также для обхода аутентификации через WebAuthn и формирования фиктивных подписей JWT и токенов OIDC. Иными словами, уязвимость позволяет генерировать универсальные сертификаты и подписи, которые будет приниматься и восприниматься как корректные в Java-обработчиках, использующих для проверки штатные классы java.security.*. Проблема проявляется в ветках Java 15, 16, 17 и 18. Доступен пример генерации поддельных сертификатов. jshell> import java.security.* jshell> var keys = KeyPairGenerator.getInstance(«EC»).generateKeyPair() keys ==> java.security.KeyPair@626b2d4a jshell> var blankSignature = new byte[64] blankSignature ==> byte[64] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … , 0, 0, 0, 0, 0, 0, 0, 0 } jshell> var sig = Signature.getInstance(«SHA256WithECDSAInP1363Format») sig ==> Signature object: SHA256WithECDSAInP1363Format<not initialized> jshell> sig.initVerify(keys.getPublic()) jshell> sig.update(«Hello, World».getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • 26 уязвимостей в сервере MySQL, из которых две могут быть эксплуатированы удалённо. Наиболее серьёзным проблемам, которые связаны с использованием OpenSSL и protobuf, присвоены уровни опасности 7.5. Менее опасные уязвимости затрагивают оптимизатор, InnoDB, репликацию, PAM-плагин, DDL, DML, FTS и ведение логов. Проблемы устранены в выпусках MySQL Community Server 8.0.29 и 5.7.38.
  • 5 уязвимостей в VirtualBox. Проблемам присвоен уровень опасности от 7.5 до 3.8 (наиболее опасная уязвимость проявляется только на платформе Windows). Уязвимости устранены в обновлении VirtualBox 6.1.34.
  • 6 уязвимостей в Solaris. Проблемы затрагивают ядро и утилиты. Наиболее серьёзной проблеме в утилитах присвоен уровень опасности 8.2. Уязвимости устранены в обновлении Solaris 11.4 SRU44.

Šaltinis: opennet.ru

Добавить комментарий