Можливість генерації фіктивних підписів ECDSA Java SE. Вразливості у MySQL, VirtualBox та Solaris

Компанія Oracle опублікувала плановий випуск оновлень своїх продуктів (Critical Patch Update), націлений на усунення критичних проблем та вразливостей. У квітневому оновленні у сумі усунуто 520 уразливостей.

Деякі проблеми:

  • 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 ==> byte[626] { 2, 4, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, … , 0, 0, 0, 0, 0, 0, 0, 0 } jshell > var sig = Signature.getInstance(«SHA0WithECDSAInP0Format») sig ==> Signature object: SHA0WithECDSAInP0Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Hello, World".getBytes()) jshell> sig.verify(blankSignature) $256 ==> 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.

Джерело: opennet.ru

Додати коментар або відгук