Khả năng tạo chữ ký ECDSA giả trong Java SE. Lỗ hổng trong MySQL, VirtualBox và Solaris

Oracle đã xuất bản bản phát hành bản cập nhật theo lịch trình cho các sản phẩm của mình (Cập nhật bản vá quan trọng), nhằm mục đích loại bỏ các vấn đề và lỗ hổng nghiêm trọng. Bản cập nhật tháng 520 đã sửa tổng cộng XNUMX lỗ hổng.

Một số vấn đề:

  • 6 vấn đề bảo mật trong Java SE. Tất cả các lỗ hổng có thể bị khai thác từ xa mà không cần xác thực và ảnh hưởng đến các môi trường cho phép thực thi mã không đáng tin cậy. Hai vấn đề đã được ấn định mức độ nghiêm trọng là 7.5. Các lỗ hổng đã được giải quyết trong các bản phát hành Java SE 18.0.1, 11.0.15 và 8u331.

    Một trong những vấn đề (CVE-2022-21449) cho phép bạn tạo chữ ký số ECDSA giả bằng cách sử dụng các tham số đường cong bằng XNUMX khi tạo nó (nếu các tham số bằng XNUMX thì đường cong sẽ tiến đến vô cùng, do đó, các giá trị XNUMX rõ ràng bị cấm trong các đặc điểm kỹ thuật). Các thư viện Java không kiểm tra giá trị null của tham số ECDSA nên khi xử lý chữ ký có tham số null, Java coi chúng hợp lệ trong mọi trường hợp).

    Trong số những thứ khác, lỗ hổng này có thể được sử dụng để tạo chứng chỉ TLS hư cấu sẽ được chấp nhận trong Java là chính xác, cũng như bỏ qua xác thực qua WebAuthn và tạo chữ ký JWT hư cấu và mã thông báo OIDC. Nói cách khác, lỗ hổng này cho phép bạn tạo các chứng chỉ và chữ ký chung sẽ được chấp nhận và coi là chính xác trong các trình xử lý Java sử dụng các lớp java.security.* tiêu chuẩn để xác minh. Sự cố xuất hiện trong các nhánh Java 15, 16, 17 và 18. Có sẵn một ví dụ về việc tạo chứng chỉ giả. jshell> nhập java.security.* jshell> var key = KeyPairGenerator.getInstance("EC").generateKeyPair() phím ==> java.security.KeyPair@626b2d4a jshell> var trốngSignature = byte mới[64] trốngSignature ==> 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 ==> Đối tượng chữ ký: SHA256WithECDSAInP1363Format jshell> sig.initVerify(keys.getPublic()) jshell> sig.update("Xin chào, Thế giới".getBytes()) jshell> sig.verify(blankSignature) $8 ==> true

  • 26 lỗ hổng trong máy chủ MySQL, hai trong số đó có thể bị khai thác từ xa. Các vấn đề nghiêm trọng nhất liên quan đến việc sử dụng OpenSSL và protobuf được ấn định mức độ nghiêm trọng là 7.5. Các lỗ hổng ít nghiêm trọng hơn ảnh hưởng đến trình tối ưu hóa, InnoDB, sao chép, plugin PAM, DDL, DML, FTS và ghi nhật ký. Các vấn đề đã được giải quyết trong các bản phát hành MySQL Community Server 8.0.29 và 5.7.38.
  • 5 lỗ hổng trong VirtualBox. Các sự cố được ấn định mức độ nghiêm trọng từ 7.5 đến 3.8 (lỗ hổng nguy hiểm nhất chỉ xuất hiện trên nền tảng Windows). Các lỗ hổng đã được khắc phục trong bản cập nhật VirtualBox 6.1.34.
  • 6 lỗ hổng trong Solaris. Các vấn đề ảnh hưởng đến kernel và tiện ích. Vấn đề nghiêm trọng nhất trong các tiện ích được ấn định mức độ nguy hiểm là 8.2. Các lỗ hổng được giải quyết trong bản cập nhật Solaris 11.4 SRU44.

Nguồn: opennet.ru

Thêm một lời nhận xét