Bảo mật & quyền riêng tư

OpenSSL vá lỗ hổng rò rỉ bộ nhớ DTLS mức độ nghiêm trọng cao trong bản phát hành mới nhất

OpenSSL đã phát hành các bản sửa lỗi cho CVE-2026-84782, một lỗ hổng nghiêm trọng trong DTLS có thể làm rò rỉ bộ nhớ heap hoặc gây sập dịch vụ. Các bản cập nhật có sẵn cho các nhánh được hỗ trợ, nhưng các phiên bản cũ hơn yêu cầu gói hỗ trợ premium.

Được dịch tự động từ bản gốc tiếng Anh.

OpenSSL đã phát hành các bản cập nhật bảo mật vào ngày 29 tháng 9 để xử lý một lỗ hổng nghiêm trọng trong triển khai Giao thức Bảo mật Lớp Truyền tải Dữ liệu (Datagram Transport Layer Security - DTLS). Lỗ hổng này, được theo dõi dưới mã CVE-2026-84782, cho phép kẻ tấn công tiềm năng làm rò rỉ bộ nhớ heap hoặc gây ra từ chối dịch vụ (DoS) bằng cách kích hoạt một điều kiện tranh chấp cụ thể trong quá trình truyền lại bắt tay (handshake retransmissions). Các bản sửa lỗi hiện đã có công khai cho các nhánh gần đây, trong khi các phiên bản cũ hơn giờ đây yêu cầu gói hỗ trợ premium trả phí.

Chuyện gì đã xảy ra

Lỗ hổng ảnh hưởng đến giao thức DTLS, về cơ bản là TLS được điều chỉnh cho lưu lượng UDP. Nó thường được sử dụng trong các hệ thống liên lạc thời gian thực như WebRTC cho cuộc gọi thoại và video. Vấn đề nảy sinh khi một thông điệp bắt tay lớn đang được gửi dưới dạng các phân đoạn. Nếu mạng tạm dừng việc truyền tải giữa chừng, một bộ đếm thời gian có thể kích hoạt việc gửi lại một thông điệp trước đó. Do lỗi logic, thao tác gửi lại sử dụng sai vị trí bộ đệm của thông điệp lớn bị tạm dừng thay vì đặt lại về đầu thông điệp đang được gửi lại.

Sự không khớp này khiến gói tin được gửi lại chứa các byte còn sót lại từ thông điệp lớn hơn, bị dán nhãn sai. Những byte này có thể bao gồm dữ liệu chưa được mã hóa từ bộ nhớ heap của ứng dụng, làm lộ thông tin nhạy cảm với peer từ xa. Trong trường hợp xấu hơn, nếu thao tác đọc truy cập vào vùng nhớ chưa được ánh xạ, ứng dụng sẽ bị sập. Laurent Gaffie từ Secorizon đã báo cáo vấn đề này vào ngày 17 tháng 8, và Ryan Hooper đã phát triển bản vá. OpenSSL chưa xác nhận liệu kẻ tấn công có thể đáng tin cậy ép buộc điều kiện này hay không, cũng như chưa quan sát thấy bất kỳ khai thác nào trong thực tế.

Bản sửa lỗi được bao gồm trong OpenSSL 4.0.3, 3.6.5, 3.5.9 và 3.4.8. Tuy nhiên, tình hình phức tạp hơn đối với người dùng các nhánh cũ. OpenSSL 3.0 đã kết thúc hỗ trợ bảo mật công khai vào ngày 7 tháng 9. Do đó, bản sửa lỗi cho phiên bản 3.0 (phát hành dưới dạng 3.0.23) chỉ dành cho khách hàng có hợp đồng hỗ trợ premium. Hạn chế tương tự cũng áp dụng cho các nhánh 1.1.1 và 1.0.2 đã ngừng hỗ trợ từ lâu.

Cách nó hoạt động

DTLS xử lý các kết nối UDP không ổn định bằng cách chia nhỏ các thông điệp bắt tay lớn thành các datagram nhỏ hơn. Khi kết nối bị đình trệ, giao thức sử dụng bộ đếm thời gian truyền lại để gửi lại các thông điệp có thể đã bị mất. Lỗi xảy ra trong sự tương tác giữa bộ đếm thời gian này và logic phân mảnh. Khi một thông điệp lớn được gửi một phần rồi bị tạm dừng, trạng thái nội bộ theo dõi vị trí hiện tại trong bộ đệm. Nếu bộ đếm thời gian kích hoạt cho một thông điệp khác, sớm hơn, trong khi thông điệp lớn vẫn đang bị tạm dừng, mã nguồn nhầm lẫn tiếp tục ghi từ vị trí bị tạm dừng thay vì từ đầu thông điệp được gửi lại.

Điều này dẫn đến một gói tin tuyên bố là thông điệp bắt tay nhưng chứa dữ liệu tùy ý từ bộ nhớ heap. Vì nhãn bị sai, phía nhận có thể xử lý dữ liệu này như nội dung giao thức hợp lệ, dẫn đến rò rỉ thông tin. Nếu tràn bộ đệm chạm vào các địa chỉ bộ nhớ không hợp lệ, quy trình sẽ kết thúc đột ngột. Lỗ hổng ảnh hưởng đến cả máy khách và máy chủ DTLS, và bản sửa lỗi đảm bảo rằng các lần truyền lại luôn đặt lại con trỏ bộ đệm đúng cách.

Chi tiết chính

  • Mã định danh CVE: CVE-2026-84782, được đánh giá mức độ nghiêm trọng Cao bởi OpenSSL và 8.2/10 bởi CISA.
  • Giao thức bị ảnh hưởng: Chỉ DTLS; TLS tiêu chuẩn qua TCP không bị ảnh hưởng.
  • Bản sửa lỗi công khai: Có sẵn trong OpenSSL 4.0.3, 3.6.5, 3.5.9 và 3.4.8.
  • Bản sửa lỗi hạn chế: OpenSSL 3.0.23, 1.1.1zj và 1.0.2zs chỉ dành cho khách hàng hỗ trợ premium.
  • Cập nhật phân phối: Ubuntu 26.04, 24.04 và 22.04 đã phát hành các gói đã vá; Debian 13 đã được sửa, nhưng Debian 12 vẫn dễ bị tổn thương tính đến ngày 30 tháng 9.
  • Các lỗ hổng khác: Bản phát hành này cũng sửa 13 vấn đề khác, bao gồm một lỗi sập mức độ nghiêm trọng trung bình trong OpenSSL 4.0 (CVE-2026-84783).

Tại sao điều này quan trọng

Đối với các nhà phát triển xây dựng công cụ liên lạc thời gian thực, lỗ hổng này đặt ra rủi ro trực tiếp đối với quyền riêng tư của người dùng và tính khả dụng của dịch vụ. Rò rỉ bộ nhớ heap có thể làm lộ khóa phiên, dữ liệu cá nhân hoặc trạng thái nội bộ của ứng dụng. Vì DTLS là nền tảng cho WebRTC, bất kỳ dịch vụ nào sử dụng kênh thoại, video hoặc dữ liệu thời gian thực qua UDP đều phải kiểm tra phụ thuộc OpenSSL của họ. Việc không tồn tại giải pháp thay thế (workaround) nghĩa là nâng cấp là con đường giảm thiểu duy nhất.

Việc chuyển đổi OpenSSL 3.0 sang chỉ cập nhật bảo mật qua gói premium đánh dấu một sự thay đổi đáng kể đối với nhiều bản phân phối Linux và hệ thống nhúng. Các nhóm dựa vào các phiên bản Hỗ trợ dài hạn (Long Term Support - LTS) của Ubuntu hoặc Debian đi kèm với OpenSSL 3.0 giờ đây phải dựa vào người bảo trì bản phân phối của họ để lấy các bản backport hoặc mua hỗ trợ thương mại. Điều này làm tăng độ phức tạp vận hành và chi phí tiềm ẩn trong việc duy trì hạ tầng an toàn, nhấn mạnh nhu cầu quản lý phụ thuộc chủ động.

Bạn có thể làm gì

  • Xác định tất cả các dịch vụ sử dụng OpenSSL cho DTLS, đặc biệt là cổng WebRTC hoặc máy chủ VoIP.
  • Nâng cấp lên phiên bản sửa lỗi công khai mới nhất: 4.0.3, 3.6.5, 3.5.9 hoặc 3.4.8.
  • Nếu sử dụng OpenSSL 3.0, hãy áp dụng các bản vá cụ thể của bản phân phối (ví dụ: cập nhật libssl3t64 của Ubuntu) và khởi động lại nếu cần thiết.
  • Cân nhắc di chuyển từ OpenSSL 3.0 sang một nhánh hiện đang được hỗ trợ như 3.5 hoặc 4.0 để đảm bảo các bản cập nhật bảo mật công khai trong tương lai.
  • Giám sát chặt chẽ các hệ thống Debian 12, vì chúng vẫn dễ bị tổn thương cho đến khi bản vá được phát hành.
  • Xem xét nhật ký để tìm các lỗi sập bất thường hoặc thất bại bắt tay có thể chỉ ra nỗ lực khai thác.

Công cụ từ cửa hàng Bytechap

Đọc tiếp

Bảo mật & quyền riêng tư

Các tác nhân AI lập trình đã làm rò rỉ 13.000 hình ảnh nội bộ lên các kho lưu trữ công khai trên GitHub

Các nhà nghiên cứu bảo mật phát hiện rằng các trợ lý lập trình AI đã tải lên những ảnh chụp màn hình nhạy cảm, bao gồm cả hồ sơ thanh toán, lên các kho lưu trữ công khai vì chúng không thể đính kèm trực tiếp hình ảnh vào các yêu cầu kéo (pull request).

Tất cả bài viết