Možnost generování fiktivních podpisů ECDSA v Java SE. Zranitelnosti v MySQL, VirtualBox a Solaris

Společnost Oracle zveřejnila plánovanou aktualizaci svých produktů (Critical Patch Update), zaměřenou na odstranění kritických problémů a zranitelností. V dubnové aktualizaci bylo opraveno celkem 520 zranitelností.

Některé problémy:

  • 6 bezpečnostních problémů v Java SE. Všechny zranitelnosti mohou být zneužity vzdáleně bez nutnosti autentizace a týkají se prostředí, která umožňují vykonávání nedůvěryhodného kódu. Dvěma problémům byla přidělena úroveň nebezpečí 7.5. Zranitelnosti byly opraveny ve verzích Java SE 18.0.1, 11.0.15 a 8u331.

    Jedním z problémů (CVE-2022-21449) je možnost vygenerování fiktivního digitálního podpisu ECDSA pomocí nulových parametrů křivky (pokud jsou parametry nulové, křivka se dostává do nekonečna, proto jsou nulové hodnoty v specifikaci výslovně zakázány). V knihovnách Java chyběla kontrola na nulové hodnoty parametrů ECDSA, a proto při zpracování podpisů s nulovými parametry Java ve všech případech považovala tyto podpisy za platné.

    Zranitelnost může být také využita k generování fiktivních TLS certifikátů, které budou v Java akceptovány jako správné, a také k obcházení autentizace prostřednictvím WebAuthn a k vytváření fiktivních podpisů JWT a tokenů OIDC. Jinými slovy, zranitelnost umožňuje generovat univerzální certifikáty a podpisy, které budou akceptovány a považovány za správné v Java zpracovatelích využívajících pro kontrolu standardní třídy java.security.*. Problém se projevuje v větvích Java 15, 16, 17 a 18. Je k dispozici příklad generování padělaných certifikátů. 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 zranitelností v serveru MySQL, z nichž dva mohou být využívány na dálku. Nejsérieznější problémy spojené s používáním OpenSSL a protobuf byly ohodnoceny na úrovni nebezpečnosti 7.5. Méně nebezpečné zranitelnosti se týkají optimalizátoru, InnoDB, replikace, PAM pluginu, DDL, DML, FTS a logování. Problémy byly opraveny ve verzích MySQL Community Server 8.0.29 a 5.7.38.
  • 5 zranitelností ve VirtualBoxu. Problémům byla přidělena úroveň nebezpečnosti od 7.5 do 3.8 (nejnebezpečnější zranitelnost se projevuje pouze na platformě Windows). Zranitelnosti byly odstraněny v aktualizaci VirtualBox 6.1.34.
  • 6 zranitelností v Solaris. Problémy se týkají jádra a utilit. Nejzávažnějšímu problému v utilitách byla přidělena úroveň nebezpečnosti 8.2. Zranitelnosti byly opraveny v aktualizaci Solaris 11.4 SRU44.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster