Kyky luoda vale-ECDSA-allekirjoituksia Java SE:ssä. MySQL:n, VirtualBoxin ja Solariksen haavoittuvuuksia

Oracle on julkaissut suunniteltujen päivitysten julkaisun tuotteisiinsa (Critical Patch Update), joiden tarkoituksena on poistaa kriittiset ongelmat ja haavoittuvuudet. Huhtikuun päivitys eliminoi yhteensä 520 haavoittuvuutta.

Joitakin ongelmia:

  • 6 Java SE:n tietoturvaongelmat. Kaikkia haavoittuvuuksia voidaan hyödyntää etäyhteydellä ilman todennusta, ja ne vaikuttavat ympäristöihin, jotka mahdollistavat epäluotettavan koodin suorittamisen. Kahdelle ongelmalle on annettu vakavuusaste 7.5. Haavoittuvuudet on korjattu Java SE 18.0.1-, 11.0.15- ja 8u331 -julkaisuissa.

    Yksi ongelmista (CVE-2022-21449) mahdollistaa kuvitteellisen ECDSA-digitaalisen allekirjoituksen luomisen käyttämällä nollakäyräparametreja sitä luotaessa (jos parametrit ovat nolla, käyrä menee äärettömään, joten nolla-arvot ovat nimenomaisesti kiellettyjä eritelmä). Java-kirjastot eivät tarkistaneet ECDSA-parametrien nolla-arvoja, joten käsitellessään allekirjoituksia nollaparametreilla Java piti niitä voimassa kaikissa tapauksissa).

    Haavoittuvuutta voidaan käyttää muun muassa luomaan kuvitteellisia TLS-varmenteita, jotka hyväksytään Javassa kelvollisiksi, sekä ohittamaan WebAuthn-todennuksen ja generoimaan kuvitteellisia JWT-allekirjoituksia ja OIDC-tunnuksia. Toisin sanoen haavoittuvuus antaa sinun luoda yleispäteviä varmenteita ja allekirjoituksia, jotka hyväksytään ja pidetään oikeina Java-käsittelijöissä, jotka käyttävät standardeja java.security.*-luokkia todentamiseen. Ongelma ilmenee Java-haaroissa 15, 16, 17 ja 18. Saatavilla on esimerkki väärennettyjen varmenteiden luomisesta. jshell> import java.security.* jshell> var keys = KeyPairGenerator.getInstance("EC").generateKeyPair() keys ==> java.security.KeyPair@626b2d4a jshell> var blankSignature = uusi tavu[64] == blank>Signature tavu[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 ==> Allekirjoitusobjekti: SHA256WithECDSAInP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Hei, maailma".getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • 26 MySQL-palvelimen haavoittuvuutta, joista kahta voidaan hyödyntää etänä. Vakavimmille OpenSSL:n ja protobufin käyttöön liittyville ongelmille on annettu vakavuusaste 7.5. Vähemmän vakavat haavoittuvuudet vaikuttavat optimoijaan, InnoDB:hen, replikointiin, PAM-laajennukseen, DDL:ään, DML:ään, FTS:ään ja lokiin. Ongelmat on ratkaistu MySQL Community Server 8.0.29- ja 5.7.38 -julkaisuissa.
  • 5 haavoittuvuutta VirtualBoxissa. Ongelmille on määritetty vakavuusaste 7.5–3.8 (vaarallisin haavoittuvuus näkyy vain Windows-alustalla). Haavoittuvuudet on korjattu VirtualBox 6.1.34 -päivityksessä.
  • 6 Solariksen haavoittuvuutta. Ongelmat vaikuttavat ytimeen ja apuohjelmiin. Voimalaitosten vakavimmalle ongelmalle on annettu vaarataso 8.2. Haavoittuvuudet on korjattu Solaris 11.4 SRU44 -päivityksessä.

Lähde: opennet.ru

Lisää kommentti