Java SE дээр хуурамч ECDSA гарын үсэг үүсгэх чадвар. MySQL, VirtualBox болон Solaris дээрх эмзэг байдал

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 параметрүүдийн хоосон утгыг шалгаагүй тул null параметр бүхий гарын үсгийг боловсруулахдаа Java тэдгээрийг бүх тохиолдолд хүчинтэй гэж үздэг).

    Бусад зүйлсийн дотор, эмзэг байдлыг Java-д зөв гэж хүлээн зөвшөөрөх хуурамч TLS сертификатуудыг үүсгэх, мөн WebAuthn-ээр дамжуулан баталгаажуулалтыг тойрч гарах, JWT гарын үсэг болон OIDC токенуудыг бий болгоход ашиглаж болно. Өөрөөр хэлбэл, энэ эмзэг байдал нь стандарт java.security.* ангиудыг баталгаажуулах Java программ хангамжид хүлээн зөвшөөрөгдөж, зөв ​​гэж үзэх бүх нийтийн гэрчилгээ, гарын үсэг үүсгэх боломжийг танд олгоно. Асуудал нь Java-ийн 15, 16, 17, 18-р салбаруудад гарч ирдэг. Хуурамч гэрчилгээ үүсгэх жишээ бий. jshell> java.security импортлох.* jshell> var түлхүүрүүд = KeyPairGenerator.getInstance("EC").generateKeyPair() түлхүүрүүд ==> java.security.KeyPair@626b2d4a jshell> var blankSignature = шинэ байт[64] хоосон гарын үсэг ==> байт[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 ==> Гарын үсэг зурах объект: SHA256WithECDSAinP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Сайн уу, Дэлхий".getBytes()) jshell> sig.verify(blankSignature) $8 ==> үнэн

  • MySQL серверт 26 сул тал байгаа бөгөөд тэдгээрийн хоёрыг алсаас ашиглах боломжтой. OpenSSL болон protobuf-ийг ашиглахтай холбоотой хамгийн ноцтой асуудлуудыг 7.5-ийн ноцтой байдлын түвшингээр оноодог. Бага зэргийн эмзэг байдал нь оновчтой болгох, InnoDB, хуулбар, PAM залгаас, DDL, DML, FTS болон бүртгэлд нөлөөлдөг. Асуудлыг MySQL Community Server 8.0.29 болон 5.7.38 хувилбаруудад шийдвэрлэсэн.
  • VirtualBox-ийн 5 эмзэг байдал. Асуудлыг 7.5-аас 3.8 хүртэлх ноцтой байдлын түвшингээр тодорхойлсон (хамгийн аюултай эмзэг байдал нь зөвхөн Windows платформ дээр гарч ирдэг). Сул талуудыг VirtualBox 6.1.34 шинэчлэлтээр зассан.
  • Solaris дахь 6 эмзэг байдал. Асуудал нь цөм болон хэрэгслүүдэд нөлөөлдөг. Инженерийн үйлчилгээний хамгийн ноцтой асуудал бол аюулын түвшинг 8.2. Сул талуудыг Solaris 11.4 SRU44 шинэчлэлтээр шийдсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх