Schopnost generovat fiktivní podpisy ECDSA v Java SE. Chyby zabezpečení v MySQL, VirtualBox a Solaris

Společnost Oracle zveřejnila plánované vydání aktualizací svých produktů (Critical Patch Update), jejichž cílem je eliminovat kritické problémy a zranitelná místa. Dubnová aktualizace odstranila celkem 520 zranitelností.

Nějaké problémy:

  • 6 Bezpečnostní problémy v Java SE. Všechny zranitelnosti lze zneužít vzdáleně bez ověřování a ovlivnit prostředí, která umožňují spouštění nedůvěryhodného kódu. Dvěma problémům byla přiřazena úroveň závažnosti 7.5. Chyby zabezpečení byly vyřešeny ve verzích Java SE 18.0.1, 11.0.15 a 8u331.

    Jeden z problémů (CVE-2022-21449) umožňuje generovat fiktivní digitální podpis ECDSA pomocí parametrů nulové křivky při jeho generování (pokud jsou parametry nulové, pak křivka jde do nekonečna, takže nulové hodnoty jsou výslovně zakázány v specifikace). Knihovny Java nekontrolovaly hodnoty null parametrů ECDSA, takže při zpracování podpisů s parametry null je Java považovala za platné ve všech případech).

    Zranitelnost lze mimo jiné využít ke generování fiktivních certifikátů TLS, které budou v Javě akceptovány jako správné, a také k obcházení autentizace přes WebAuthn a generování fiktivních podpisů JWT a tokenů OIDC. Jinými slovy, zranitelnost vám umožňuje generovat univerzální certifikáty a podpisy, které budou akceptovány a vnímány jako správné v obslužných programech Java, které k ověření používají standardní třídy java.security.*. Problém se objevuje ve větvích Java 15, 16, 17 a 18. K dispozici je příklad generování falešných certifikátů. jshell> import java.security.* jshell> klíče var = KeyPairGenerator.getInstance("EC").generateKeyPair() klíče ==> java.security.KeyPair@626b2d4a jshell> var blankSignature = nový byte[64] blankSignature ==>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 ==> Objekt podpisu: SHA256WithECDSAInP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Ahoj, světe".getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • 26 zranitelností na serveru MySQL, z nichž dvě lze zneužít vzdáleně. Nejzávažnějším problémům spojeným s používáním OpenSSL a protobuf je přiřazena úroveň závažnosti 7.5. Méně závažné zranitelnosti ovlivňují optimalizátor, InnoDB, replikaci, plugin PAM, DDL, DML, FTS a protokolování. Problémy byly vyřešeny ve vydáních MySQL Community Server 8.0.29 a 5.7.38.
  • 5 zranitelností ve VirtualBoxu. Problémům je přiřazena úroveň závažnosti od 7.5 do 3.8 (nejnebezpečnější zranitelnost se objevuje pouze na platformě Windows). Chyby zabezpečení jsou opraveny v aktualizaci VirtualBox 6.1.34.
  • 6 zranitelností v Solarisu. Problémy ovlivňují jádro a nástroje. Nejzávažnějšímu problému v inženýrských sítích je přiřazena úroveň nebezpečí 8.2. Chyby zabezpečení jsou vyřešeny v aktualizaci Solaris 11.4 SRU44.

Zdroj: opennet.ru

Přidat komentář