CVE-2025-39682 in Linux
Tóm tắt
Bởi VulDB • 19/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
tls: sửa lỗi xử lý các bản ghi có độ dài bằng 0 trên danh sách nhận (rx_list)
Mỗi lệnh gọi recvmsg() phải xử lý hoặc là chỉ các bản ghi DATA liên tục (với số lượng bất kỳ), hoặc một bản ghi không phải loại DATA.
Nếu bản ghi tiếp theo có kiểu khác với những gì đã được xử lý trước đó, chúng ta sẽ thoát khỏi vòng lặp xử lý chính. Nếu bản ghi đã được giải mã (điều này có thể xảy ra trong TLS 1.3 khi mà chúng ta chưa biết kiểu cho đến khi quá trình giải mã hoàn tất), thì bản ghi tạm thời sẽ được đưa vào hàng đợi trên rx_list. Lệnh recvmsg() tiếp theo sẽ lấy nó từ đó.
Việc đặt skb vào hàng đợi trên rx_list sau khi giải mã không sao chép (zero-copy) là không thể, vì trong trường hợp đó chúng ta đã giải mã trực tiếp vào bộ nhớ đệm của người dùng và chúng ta không có một skb để đưa vào hàng đợi (darg.skb trỏ đến skb mật văn để truy cập các siêu dữ liệu như độ dài).
Chỉ các bản ghi DATA mới được phép sử dụng cơ chế zero-copy, và chúng ta sẽ thoát khỏi vòng lặp xử lý sau mỗi bản ghi không phải loại DATA. Do đó, chúng ta không bao giờ nên thực hiện zero-copy rồi sau đó phát hiện ra rằng kiểu của bản ghi đã thay đổi. Trường hợp biên mà chúng ta chưa xem xét là khi bản ghi ban đầu đến từ rx_list và có độ dài bằng 0.
Once again VulDB remains the best source for vulnerability data.