Võimalus luua ebaselgeid ECDSA allkirju Java SE-s. MySQL-i, VirtualBoxi ja Solarise haavatavused

Oracle on avaldanud oma toodete värskenduste plaanipärase väljaande (Critical Patch Update), mille eesmärk on kõrvaldada kriitilised probleemid ja haavatavused. Aprillikuu värskendus parandas kokku 520 turvaauku.

Mõned probleemid:

  • 6 turvaprobleemi Java SE-s. Kõiki turvaauke saab ära kasutada eemalt ilma autentimiseta ja need mõjutavad keskkondi, mis võimaldavad käivitada ebausaldusväärset koodi. Kahele probleemile on määratud raskusaste 7.5. Java SE 18.0.1, 11.0.15 ja 8u331 väljalasetes on haavatavused lahendatud.

    Üks probleemidest (CVE-2022-21449) võimaldab luua fiktiivse ECDSA digitaalallkirja, kasutades selle genereerimisel nullkõvera parameetreid (kui parameetrid on nullid, siis kõver läheb lõpmatuseni, seega on nullväärtused selgesõnaliselt keelatud spetsifikatsioon). Java teegid ei kontrollinud ECDSA parameetrite nullväärtusi, nii et nullparameetritega allkirjade töötlemisel pidas Java neid kõigil juhtudel kehtivaks).

    Muu hulgas saab haavatavust kasutada fiktiivsete TLS-sertifikaatide genereerimiseks, mis aktsepteeritakse Javas kehtivatena, samuti WebAuthni kaudu autentimisest mööda hiilimiseks ning fiktiivsete JWT-allkirjade ja OIDC-märkide genereerimiseks. Teisisõnu võimaldab haavatavus genereerida universaalseid sertifikaate ja allkirju, mida aktsepteeritakse ja tajutakse õigetena Java-käsitlejates, mis kasutavad kontrollimiseks standardseid java.security.* klasse. Probleem ilmneb Java harudes 15, 16, 17 ja 18. Saadaval on näide võltssertifikaatide genereerimisest. jshell> import java.security.* jshell> var keys = KeyPairGenerator.getInstance("EC").generateKeyPair() võtmed ==> java.security.KeyPair@626b2d4a jshell> var blankSignature = uus bait[64] == blank>Allkiri bait[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 ==> Allkirjaobjekt: SHA256WithECDSAInP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Tere, maailm".getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • 26 turvaauku MySQL-serveris, millest kahte saab kaugjuhtimisega ära kasutada. Kõige tõsisematele OpenSSL-i ja protobufi kasutamisega seotud probleemidele määratakse raskusaste 7.5. Vähem tõsised haavatavused mõjutavad optimeerijat, InnoDB-d, replikatsiooni, PAM-i pistikprogrammi, DDL-i, DML-i, FTS-i ja logimist. Probleemid lahendati MySQL Community Server 8.0.29 ja 5.7.38 versioonides.
  • 5 VirtualBoxi haavatavust. Probleemidele on määratud raskusaste vahemikus 7.5 kuni 3.8 (kõige ohtlikum haavatavus ilmneb ainult Windowsi platvormil). Turvaaugud on parandatud VirtualBox 6.1.34 värskendusega.
  • 6 Solarise haavatavust. Probleemid mõjutavad tuuma ja utiliite. Kommunaalteenuste kõige tõsisemale probleemile on määratud ohutase 8.2. Turvaaugud lahendatakse Solarise 11.4 SRU44 värskendusega.

Allikas: opennet.ru

Lisa kommentaar