Mogućnost generiranja lažnih ECDSA potpisa u Javi SE. Ranjivosti u MySQL, VirtualBox i Solaris

Oracle je objavio planirano izdanje ažuriranja svojih proizvoda (Critical Patch Update), s ciljem uklanjanja kritičnih problema i ranjivosti. Travanjsko ažuriranje eliminiralo je ukupno 520 ranjivosti.

Neki problemi:

  • 6 Sigurnosna pitanja u Javi SE. Sve ranjivosti mogu se iskoristiti na daljinu bez provjere autentičnosti i utjecati na okruženja koja dopuštaju izvršavanje nepouzdanog koda. Dvjema problemima dodijeljena je razina ozbiljnosti 7.5. Ranjivosti su riješene u izdanjima Java SE 18.0.1, 11.0.15 i 8u331.

    Jedan od problema (CVE-2022-21449) omogućuje generiranje fiktivnog ECDSA digitalnog potpisa koristeći parametre nulte krivulje prilikom generiranja (ako su parametri nula, tada krivulja ide u beskonačnost, tako da su nulte vrijednosti izričito zabranjene u specifikacija). Java biblioteke nisu provjeravale null vrijednosti ECDSA parametara, tako da prilikom obrade potpisa s null parametrima, Java ih je smatrala važećim u svim slučajevima).

    Između ostalog, ranjivost se može koristiti za generiranje fiktivnih TLS certifikata koji će biti prihvaćeni u Javi kao ispravni, kao i za zaobilaženje provjere autentičnosti putem WebAuthna i generiranje fiktivnih JWT potpisa i OIDC tokena. Drugim riječima, ranjivost vam omogućuje generiranje univerzalnih certifikata i potpisa koji će biti prihvaćeni i percipirani kao ispravni u Java rukovateljima koji koriste standardne java.security.* klase za provjeru. Problem se pojavljuje u Java granama 15, 16, 17 i 18. Dostupan je primjer generiranja lažnih certifikata. jshell> import java.security.* jshell> var keys = KeyPairGenerator.getInstance("EC").generateKeyPair() keys ==> java.security.KeyPair@626b2d4a jshell> var blankSignature = new byte[64] blankSignature ==> bajt[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 ==> Objekt potpisa: SHA256WithECDSAInP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Hello, World".getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • 26 ranjivosti na MySQL poslužitelju, od kojih se dvije mogu iskoristiti na daljinu. Najozbiljniji problemi povezani s upotrebom OpenSSL-a i protobufa dodijeljeni su stupnju ozbiljnosti 7.5. Manje ozbiljne ranjivosti utječu na optimizator, InnoDB, replikaciju, PAM dodatak, DDL, DML, FTS i bilježenje. Problemi su riješeni u izdanjima MySQL Community Servera 8.0.29 i 5.7.38.
  • 5 ranjivosti u VirtualBoxu. Problemima se dodjeljuje razina ozbiljnosti od 7.5 do 3.8 (najopasnija ranjivost pojavljuje se samo na Windows platformi). Ranjivosti su popravljene u ažuriranju VirtualBox 6.1.34.
  • 6 ranjivosti u Solarisu. Problemi utječu na kernel i uslužne programe. Najozbiljnijem problemu u komunalnom sektoru dodijeljena je razina opasnosti od 8.2. Ranjivosti su riješene u ažuriranju Solarisa 11.4 SRU44.

Izvor: opennet.ru

Dodajte komentar