The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Возможность генерации фиктивных подписей ECDSA в Java SE. Уязвимости в MySQL, VirtualBox и Solaris

20.04.2022 09:33

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

Некоторые проблемы:

  • 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. Ошибка появилась в ветке Java 15 после переписывания части кода проверки подписей ECDSA с C++ на Java.

    Доступен пример генерации поддельных сертификатов:

    
       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
    

    Дополнение: опубликован прототип приложения для совершения MiTM-атаки на TLS, демонстрирующего перехват трафика уязвимого клиента.

  • 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.


  1. Главная ссылка к новости (https://blogs.oracle.com/secur...)
  2. OpenNews: Oracle представил Solaris 11.4 CBE, редакцию для бесплатного использования
  3. OpenNews: Критическая 0-day уязвимость в Spring Framework, применяемом во многих Java-проектах
  4. OpenNews: Компания Oracle убрала ограничение по использованию JDK в коммерческих целях
  5. OpenNews: Выпуск дистрибутива Oracle Linux 8.5
  6. OpenNews: Обновление Java SE, MySQL, VirtualBox и других продуктов Oracle с устранением уязвимостей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57050-oracle
Ключевые слова: oracle, solaris, mysql, virtualbox, java
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:35, 20/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > при обработке подписей с нулевыми параметрами, Java во всех случаях считал их валидными
    > проявляется в ветках Java 15, 16, 17 и 18

    Это нечто с чем-то... Обновляйтесь, говорили они, это безопасно.

     
     
  • 2.4, Аноним (4), 10:48, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Обновляйтесь, говорили они, это безопасно.

    Ну не обновляйся. Вот конкретно это обновление пропусти. Если на работе будут спрашивать, почему пропустил это обновление — скажи, что я разрешил.

     
     
  • 3.22, лютый жабби___ (?), 07:52, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ну не обновляйся. Вот конкретно это обновление пропусти

    тебе вообще-то намекают, что надо на 11 или даже 8 сидеть. с 11 можно и согласиться

     

  • 1.2, YetAnotherOnanym (ok), 10:37, 20/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Но как же так? Ведь уязвимости - они от небезопасной работы с памятью через указатели, в жабе такого нет, и вообще, жаба же создана для написания супернадёжного и высокопроизводительного корпоративного софта? Неужели нас опять обманули?
     
     
  • 2.3, Аноним (4), 10:47, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > уязвимости - они от небезопасной работы с памятью через указатели

    Не все.

    > жаба же создана для написания супернадёжного и высокопроизводительного корпоративного софта

    Да.

    > Неужели нас опять обманули?

    Кто тебя обманул? Аноним с опеннета?

     
     
  • 3.14, YetAnotherOnanym (ok), 13:04, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Да.

    Спасибо, ты укрепил мою веру!
    > Кто тебя обманул?

    Как это "кто"? Скотт МакНили, конечно же!

     
  • 2.5, Аноним (1), 10:54, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Неужели нас опять обманули?

    Ага, начиная с 15-ой Жабы. До неё проблем с нулями не было.

     
     
  • 3.7, Аноним (7), 11:43, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > если параметры нулевые, то кривая уходит в бесконечность

    Просто, начиная с 15-й версии, Java умеет считать до бесконечности.

     
     
  • 4.16, Аноним (16), 13:53, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    дважды?
     
  • 4.26, Аноним (26), 10:11, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > умеет считать до бесконечности

    считать элементы счетного бесконечного множества или континуума?

     
  • 2.8, Аноним (8), 11:46, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это мы ещё не всё про Rust знаем. Вот когда на нём напишут "супернадёжного и высокопроизводительного" корпоративного софта, тогда в нём ещё не таких перлов увидим.
     
     
  • 3.17, Аноним (1), 14:17, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > не всё про Rust знаем. Вот когда на нём напишут

    Учитывая недавние события, как на нём 18-летние пишут...

     
  • 2.9, Анонн (?), 11:51, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не удивительно, что такие особи как ты не знают про логические ошибки.
    Впрочем... пока исправишь все проблемы с памятью, на проверку логики уже времени не останется.
     
     
  • 3.10, ананим.orig (?), 12:15, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    как бы тебе по мягче сказать..
    ошибки при работе с памятью – это и есть логические ошибки.
    как только некто (особь, в твоих терминах) начинает считать что это не так, тут же появляются нулевые параметры.
     
  • 3.15, YetAnotherOnanym (ok), 13:11, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не удивительно, что такие особи как ты не знают про логические ошибки.

    Да где ж мне, скудоумному...

     
  • 2.11, ананим.orig (?), 12:20, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > от небезопасной работы с памятью через указатели

    ну.. может для некоторых безопасная работа с памятью это когда между тобой и памятью сидит тов. майор, цру, анб и тд? :D

     
  • 2.12, Rev (?), 12:32, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не путай код на Java и код самой JVM, написанный на плюсах.
     
     
  • 3.19, Аноним (19), 16:25, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну ты понял на что надо переписать JVM.
     
     
  • 4.25, Алекс (??), 09:51, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    не дай Бог...
     

  • 1.13, Rev (?), 12:33, 20/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > 26 уязвимостей в сервере MySQL

    Интересно, а эти места в MariaDB проверят и тоже пропатчат?

     
     
  • 2.18, Аноним (19), 16:23, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет у них свой путь.
     
  • 2.20, Kuromi (ok), 22:36, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Они сам обычно подтягивают патчи и адаптируют.
     
  • 2.21, Аноним (21), 00:27, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    MariaDB deprecated legacy уже много лет как, мигрируйте обратно. На самом деле это раздражает, когда без причины заставляют переходить на форк, а потом (внезапно, ни разу не было и вот опять) оказывается, что форк вскорости сдулся, а оригинал уходит вперёд семимильными шагами.
     
     
  • 3.24, Аноним (24), 08:27, 21/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кем оно deprecated?
     

  • 1.23, Хрюн (?), 07:53, 21/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Про эллиптику в Яве капец, конечно, адский. Докатились. Ниже падать уже некуда.
     
     
  • 2.27, Аноним (1), 09:40, 22/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Началось с 15-ой Жабы, а это - сентябрь 2020, фигачат по 2 версии за год! Неудивительно, что всё комом. Для сравнения: 5 - 2004, 6 - 2006, 7 - 2011, 8 - 2014.
     

  • 1.28, Аноним (28), 13:21, 22/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А сколько еще бэкдоров в Java остаются не найденными....
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру