CVE-2026-64025 in Linuxthông tin

Tóm tắt

Bởi VulDB • 20/07/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

bpf, skmsg: sửa lỗi race condition giữa verdict và ktls rx trong hàm sk_data_ready

Hàm `sk_psock_strp_data_ready()` hiện đã kiểm tra `tls_sw_has_ctx_rx()` và chuyển hướng đến `psock->saved_data_ready` khi có ngữ cảnh TLS RX tồn tại, nhằm tránh xung đột với quyền sở hữu hàng đợi nhận (receive queue) của strparser TLS (commit e91de6afa81c, "bpf: Fix running sk_skb program types with ktls").

Tuy nhiên, `sk_psock_verdict_data_ready()` không có cơ chế bảo vệ tương đương. Khi một socket được chèn vào sockmap (`BPF_SK_SKB_VERDICT`) trước khi TLS RX được cấu hình, `tls_sw_strparser_arm()` lưu trữ `sk_psock_verdict_data_ready` dưới dạng `rx_ctx->saved_data_ready`. Khi dữ liệu đến:

tls_data_ready -> tls_strp_data_ready -> tls_rx_msg_ready -> saved_data_ready() = sk_psock_verdict_data_ready() -> tcp_read_skb() giải phóng sk_receive_queue thông qua __skb_unlink() mà không gọi tcp_eat_skb(), do đó copied_seq không được tăng lên.

Sau đó, `tls_strp_msg_load()` phát hiện thấy `tcp_inq() >= full_len` (dữ liệu cũ/stale), gọi `tcp_recv_skb()` trên hàng đợi giờ đã trống, gặp phải cảnh báo `WARN_ON_ONCE(!first)`, và trả về với con trỏ `rx_ctx->strp.anchor.frag_list` đang chỉ đến một skb thuộc sở hữu của psock (có thể đã bị giải phóng). Hàm `tls_decrypt_sg()` sau đó sẽ duyệt qua frag_list này: lỗi use-after-free.

Áp dụng cùng biện pháp khắc phục như trong `sk_psock_strp_data_ready()`: nếu có ngữ cảnh TLS RX tồn tại, hãy gọi `psock->saved_data_ready` (`sock_def_readable`) để đánh thức các trình chờ recv() và trả về ngay lập tức, giữ nguyên hàng đợi nhận không bị thay đổi. TLS duy trì quyền sở hữu độc nhất đối với hàng đợi này và giải mã bản ghi một cách bình thường thông qua `tls_sw_recvmsg()`.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

19/07/2026

Tiết lộ

19/07/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

thấp

Nguồn

Do you want to use VulDB in your project?

Use the official API to access entries easily!