Lỗi tràn bộ đệm trong OpenSSL bị khai thác khi xác minh chứng chỉ X.509

Một bản phát hành khắc phục của thư viện mật mã OpenSSL 3.0.7 đã được xuất bản, giúp khắc phục hai lỗ hổng. Cả hai vấn đề đều xảy ra do lỗi tràn bộ đệm trong mã xác thực trường email trong chứng chỉ X.509 và có khả năng dẫn đến việc thực thi mã khi xử lý chứng chỉ có khung đặc biệt. Tại thời điểm công bố bản sửa lỗi, các nhà phát triển OpenSSL chưa ghi lại bất kỳ bằng chứng nào về sự hiện diện của một cách khai thác đang hoạt động có thể dẫn đến việc thực thi mã của kẻ tấn công.

Mặc dù thực tế là thông báo trước khi phát hành bản phát hành mới đã đề cập đến sự hiện diện của một vấn đề nghiêm trọng, nhưng trên thực tế, trong bản cập nhật được phát hành, trạng thái của lỗ hổng đã giảm xuống mức nguy hiểm nhưng không nghiêm trọng. Theo các quy tắc được áp dụng trong dự án, mức độ nguy hiểm sẽ giảm nếu sự cố biểu hiện ở cấu hình không điển hình hoặc nếu xác suất khai thác lỗ hổng trong thực tế là thấp.

Trong trường hợp này, mức độ nghiêm trọng đã giảm do một số tổ chức phân tích chi tiết về lỗ hổng đã kết luận rằng khả năng thực thi mã trong quá trình khai thác đã bị chặn bởi các cơ chế bảo vệ chống tràn ngăn xếp được sử dụng trong nhiều nền tảng. Ngoài ra, bố cục lưới được sử dụng trong một số bản phân phối Linux dẫn đến 4 byte vượt quá giới hạn sẽ được xếp chồng lên bộ đệm tiếp theo trên ngăn xếp, bộ đệm này chưa được sử dụng. Tuy nhiên, có thể có những nền tảng có thể bị lợi dụng để thực thi mã.

Các vấn đề được xác định:

  • CVE-2022-3602 - một lỗ hổng, ban đầu được coi là nghiêm trọng, dẫn đến tràn bộ đệm 4 byte khi kiểm tra trường có địa chỉ email được thiết kế đặc biệt trong chứng chỉ X.509. Trong máy khách TLS, lỗ hổng có thể bị khai thác khi kết nối với máy chủ do kẻ tấn công kiểm soát. Trên máy chủ TLS, lỗ hổng có thể bị khai thác nếu sử dụng xác thực ứng dụng khách bằng chứng chỉ. Trong trường hợp này, lỗ hổng xuất hiện ở giai đoạn sau khi xác minh chuỗi tin cậy được liên kết với chứng chỉ, tức là. Cuộc tấn công yêu cầu cơ quan cấp chứng chỉ xác minh chứng chỉ độc hại của kẻ tấn công.
  • CVE-2022-3786 là một vectơ khác để khai thác lỗ hổng CVE-2022-3602, được xác định trong quá trình phân tích vấn đề. Sự khác biệt dẫn đến khả năng tràn bộ đệm trên ngăn xếp bởi một số byte tùy ý có chứa “.” (tức là kẻ tấn công không thể kiểm soát nội dung tràn và sự cố chỉ có thể được sử dụng để khiến ứng dụng gặp sự cố).

Các lỗ hổng chỉ xuất hiện trong nhánh OpenSSL 3.0.x (lỗi được phát hiện trong mã chuyển đổi Unicode (punycode) được thêm vào nhánh 3.0.x). Các bản phát hành OpenSSL 1.1.1, cũng như các thư viện nhánh OpenSSL LibreSSL và BoringSSL, không bị ảnh hưởng bởi sự cố này. Đồng thời, bản cập nhật OpenSSL 1.1.1s đã được phát hành, chỉ chứa các bản sửa lỗi không liên quan đến bảo mật.

Nhánh OpenSSL 3.0 được sử dụng trong các bản phân phối như Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​​​Debian testing/Unstable. Người dùng các hệ thống này nên cài đặt các bản cập nhật càng sớm càng tốt (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). Trong SUSE Linux Enterprise 15 SP4 và openSUSE Leap 15.4, các gói có OpenSSL 3.0 có sẵn tùy chọn, các gói hệ thống sử dụng nhánh 1.1.1. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 và FreeBSD vẫn còn trên các nhánh OpenSSL 3.16.x.

Nguồn: opennet.ru

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