ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Oracle ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΏΠ»Π°Π½ΠΎΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² (Critical Patch Update), Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. Π Π°ΠΏΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π² ΡΡΠΌΠΌΠ΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΎ 520 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- 6 ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ Π² Java SE. ΠΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π±Π΅Π· ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ²ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ 7.5. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π² Π²ΡΠΏΡΡΠΊΠ°Ρ
Java SE 18.0.1, 11.0.15 ΠΈ 8u331.
ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌ (CVE-2022-21449) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠΈΠ²Π½ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ECDSA, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈ Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π½ΡΠ»Π΅Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΡΠΈΠ²ΠΎΠΉ (Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠ΅, ΡΠΎ ΠΊΡΠΈΠ²Π°Ρ ΡΡ ΠΎΠ΄ΠΈΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ). Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ Java ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½ΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ECDSA, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ Ρ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Java Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΈΡΠ°Π» ΠΈΡ Π²Π°Π»ΠΈΠ΄Π½ΡΠΌΠΈ).
Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΡΠΈΠ²Π½ΡΡ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π² Java ΠΊΠ°ΠΊ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· WebAuthn ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΊΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ JWT ΠΈ ΡΠΎΠΊΠ΅Π½ΠΎΠ² OIDC. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΈ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π² Java-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ°ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ java.security.*. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π²Π΅ΡΠΊΠ°Ρ Java 15, 16, 17 ΠΈ 18. ΠΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². 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<not initialized> jshell> sig.initVerify(keys.getPublic()) jshell> sig.update(«Hello, World».getBytes()) jshell> sig.verify(blankSignature) $8 ==> true
- 26 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΡΠ΅ΡΠ²Π΅ΡΠ΅ MySQL, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π΄Π²Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΡΠ·Π½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenSSL ΠΈ protobuf, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ ΡΡΠΎΠ²Π½ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ 7.5. ΠΠ΅Π½Π΅Π΅ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ, InnoDB, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, PAM-ΠΏΠ»Π°Π³ΠΈΠ½, DDL, DML, FTS ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ². ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π² Π²ΡΠΏΡΡΠΊΠ°Ρ MySQL Community Server 8.0.29 ΠΈ 5.7.38.
- 5 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² VirtualBox. ΠΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΡ 7.5 Π΄ΠΎ 3.8 (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ°ΡΠ½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ VirtualBox 6.1.34.
- 6 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Solaris. ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΡΠ΄ΡΠΎ ΠΈ ΡΡΠΈΠ»ΠΈΡΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΡΠ·Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π² ΡΡΠΈΠ»ΠΈΡΠ°Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΡΡΠΎΠ²Π΅Π½Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ 8.2. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Solaris 11.4 SRU44.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru