Capacitatea de generare a semnăturilor fictive ECDSA în Java SE. Vulnerabilități în MySQL, VirtualBox și Solaris

Compania Oracle a publicat un release planificat de actualizări pentru produsele sale (Critical Patch Update), destinat remedierii problemelor critice și a vulnerabilităților. În actualizarea din aprilie, au fost corectate un total de 520 de vulnerabilități.

Câteva probleme:

  • 6 probleme de securitate în Java SE. Toate vulnerabilitățile pot fi exploatate de la distanță fără autentificare și afectează medii care permit executarea codului nesecurizat. Două dintre probleme au fost clasificate cu un nivel de severitate de 7.5. Vulnerabilitățile au fost remediate în versiunile Java SE 18.0.1, 11.0.15 și 8u331.

    Una dintre probleme (CVE-2022-21449) permite generarea unei semnături digitale ECDSA false, utilizând parametri nuli ai curbei la generarea acesteia (dacă parametrii sunt nuli, curba devine infinită, deci valorile nule sunt explicit interzise în specificație). Bibliotecile Java nu aveau o verificare pentru valoarea nulă a parametrilor ECDSA, așa că, la procesarea semnăturilor cu parametri nuli, Java le considera valide în toate cazurile.

    Printre altele, vulnerabilitatea poate fi utilizată pentru a genera semnături false certificatelor TLS, care vor fi acceptate de Java ca fiind corecte, precum și pentru ocolirea autentificării prin WebAuthn și generarea de semnături false JWT și tokenuri OIDC. Cu alte cuvinte, vulnerabilitatea permite generarea de certificate și semnături universale, care vor fi acceptate și percepute ca fiind corecte în procesatoarele Java care utilizează clasele standard java.security.* pentru verificare. Problema se manifestă în versiunile Java 15, 16, 17 și 18. Un exemplu de generare a certificatelor false este disponibil. 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 jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Hello, World".getBytes()) jshell> sig.verify(blankSignature) $8 == true

  • 26 de vulnerabilități în server MySQL, dintre care două pot fi exploatate de la distanță. Cele mai grave probleme, legate de utilizarea OpenSSL și protobuf, au fost clasificate cu niveluri de severitate 7.5. Vulnerabilitățile mai puțin grave afectează optimizatorul, InnoDB, replicarea, pluginul PAM, DDL, DML, FTS și jurnalele. Problemele au fost remediate în versiunile MySQL Community Server 8.0.29 și 5.7.38.
  • 5 vulnerabilități în VirtualBox. Problemele au fost clasificate cu un nivel de pericol între 7.5 și 3.8 (cea mai dangerous vulnerabilitate apare doar pe platforma Windows). Vulnerabilitățile au fost remediate în actualizarea VirtualBox 6.1.34.
  • 6 vulnerabilități în Solaris. Problemele afectează nucleul și utilitarele. Celei mai serioase probleme din utilitare i s-a atribuit un nivel de pericol de 8.2. Vulnerabilitățile au fost remediate în actualizarea Solaris 11.4 SRU44.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster