Quay lại
2026/11/04
CVE-2026-98432: Lỗi use-after-free trong TCP của Linux, chiếm quyền root từ xa qua MPTCP với sự hỗ trợ của AI và cách phòng thủ cho Linux doanh nghiệp
Race condition trong xử lý IPv4 TCP của Linux, chiếm quyền root từ xa qua MPTCP đã được chứng minh, cùng các bản sửa và giảm thiểu cho RHEL, Ubuntu, Oracle Linux, Debian.
Thông tin được xác minh: ngày 3 tháng 11 năm 2026 | Phân tích kỹ thuật của LOGIQ
Vào tháng 10 năm 2026, một lỗ hổng use-after-free (UAF), CVE-2026-98432, đã được công bố trong phần xử lý kết nối IPv4 TCP của nhân Linux. Nhóm CVE của nhân Linux đã phát hành thông báo vào ngày 15 tháng 10. Ngày 27 tháng 10, Anthropic cho biết một mô hình nghiên cứu nội bộ chưa phát hành đã chứng minh khả năng thực thi lệnh từ xa không cần xác thực với quyền root trên một máy chủ Linux có listener MPTCP (Multipath TCP). Điều quan trọng là không nên đánh đồng các điều kiện khai thác cụ thể này với rủi ro lỗ hổng và từ chối dịch vụ rộng hơn ảnh hưởng đến các dịch vụ IPv4 TCP thông thường.
Điểm chính
- Lỗi là một race condition trong phần xử lý yêu cầu kết nối IPv4 TCP thông thường, tồn tại từ Linux 4.4. Bản thân lỗi không cần MPTCP.
- Bản trình diễn chiếm quyền root từ xa của Anthropic nhắm vào một máy chủ có listener MPTCP; các dịch vụ TCP khác vẫn đối mặt với nguy cơ sập hệ thống, từ chối dịch vụ và hỏng bộ nhớ.
- Red Hat đánh giá vấn đề ở mức Critical (CVSS v3.1 9.8) và đã phát hành nhân đã sửa lỗi cho RHEL 8, 9 và 10 vào ngày 1 tháng 11. Đến ngày 3 tháng 11, các bản sửa của Ubuntu vẫn đang được thực hiện.
- Hãy cài đặt nhân đã sửa lỗi được nhà cung cấp phê duyệt, khởi động lại và xác nhận nhân đang chạy. Các biện pháp giảm thiểu giúp giảm mức phơi nhiễm nhưng không thay thế được bản vá.
Race condition xảy ra ở đâu
Vấn đề liên quan đến quá trình bắt tay ba bước của IPv4 TCP. Các tùy chọn IP do request socket nắm giữ (ireq->ireq_opt) có thể được chuyển sang inet_opt của child socket trong tcp_v4_syn_recv_sock() mà không được sao chép. Nếu một CPU khác đang xử lý một SYN được truyền lại và tạo SYN/ACK trong khi child socket bị hủy, vùng nhớ chứa tùy chọn có thể bị giải phóng khi vẫn đang được sử dụng. Việc truy cập sau đó bởi các hàm như ip_options_build() có thể gây ra UAF.
Một race condition liên quan tồn tại khi di chuyển request socket qua net.ipv4.tcp_migrate_req=1 hoặc BPF_SK_REUSEPORT_SELECT_OR_MIGRATE, khi dữ liệu tùy chọn có thể bị dùng chung giữa request socket gốc và bản sao. Hành vi có lỗ hổng bắt đầu từ Linux 4.4, nhưng mức phơi nhiễm thực tế phải được đánh giá theo từng nhân của nhà cung cấp, bao gồm cả các bản backport.
Commit sửa lỗi upstream e3f33b0a1d89 (“ipv4: free inet_opt and ireq_opt after an RCU grace period”) thay việc giải phóng ngay lập tức trong inet_sock_destruct() và tcp_v4_reqsk_destructor() bằng việc giải phóng trì hoãn theo RCU thông qua kfree_rcu(). Thông báo CVE của Linux xác định các bản sửa nằm trong các phiên bản nhân 6.12.113, 6.18.56, 7.2.10 và 7.3-rc7. Đường đi IPv6 ban đầu không phải là cùng một lỗ hổng, tuy nhiên một đường di chuyển IPv6 liên quan đến CALIPSO được xử lý bằng một bản vá riêng.
Đừng nhầm lẫn việc chiếm quyền root từ xa đã được chứng minh với mức phơi nhiễm chung
Bản proof of concept của Anthropic nhắm vào một máy chủ có listener MPTCP và kết hợp rò rỉ thông tin địa chỉ nhân với chiếm quyền điều khiển luồng thực thi. Theo báo cáo, thí nghiệm mất khoảng 48 phút để có được rò rỉ thông tin và thêm năm phút nữa để thực thi lệnh. Vì một lần thua race chỉ làm quá trình bắt tay thất bại chứ không làm sập hệ thống, kẻ tấn công có thể thử lại liên tục. Tuy nhiên, lỗi UAF gốc nằm trong phần xử lý yêu cầu kết nối IPv4 TCP thông thường, không chỉ riêng trong mã MPTCP.
Kỹ thuật khai thác chiếm quyền root từ xa tương tự chưa được chứng minh với mọi dịch vụ TCP thông thường không dùng MPTCP. Dù vậy, cũng không đúng khi cho rằng tắt MPTCP sẽ khiến hệ thống hoàn toàn an toàn. Red Hat cho biết MPTCP không phải là điều kiện bắt buộc, các hệ thống đã tắt MPTCP (mặc định) vẫn bị ảnh hưởng, đồng thời cảnh báo về nguy cơ sập hệ thống từ xa không cần xác thực, từ chối dịch vụ và hỏng bộ nhớ trong các dịch vụ IPv4 TCP tiêu chuẩn.
Đánh giá chính thức của các nhà cung cấp: mức độ nghiêm trọng và tình trạng sửa lỗi
Tình trạng tại thời điểm kiểm tra ngày 3 tháng 11 năm 2026. Các trang của nhà cung cấp có thể thay đổi; hãy luôn kiểm tra mục hiện tại trước khi hành động.
| Nhà cung cấp | Mức độ nghiêm trọng | Tình trạng sửa lỗi |
|---|---|---|
| Red Hat | Critical, CVSS v3.1 9.8 | Nhân đã sửa lỗi phát hành ngày 1 tháng 11: RHEL 8 (RHSA-2026:93414; kernel-rt cho NFV RHSA-2026:93415), RHEL 9 (RHSA-2026:93412), RHEL 10 (RHSA-2026:93413). RHEL 9 kernel-rt và OpenShift (RHCOS) vẫn được liệt kê là Affected. RHEL 6 và 7 không bị ảnh hưởng. |
| Ubuntu | Mức ưu tiên High; CVSS 9.8 | linux cho 26.10, 26.04, 24.04 và 22.04: Vulnerable, work in progress. 20.04, 18.04 và 16.04: Vulnerable. Chưa có gói sửa lỗi nào được phát hành. |
| Oracle Linux | Important; CVSS tạm thời 8.1 | Errata UEK ngày 16 tháng 10 (ELSA-2026-500397, -500398, -500399) cho OL7 đến OL10. Errata RHCK ngày 2 tháng 11 cho OL8 (ELSA-2026-93414) và OL10 (ELSA-2026-93413); chưa có erratum RHCK nào cho OL9. |
| Debian | (Security Tracker) | Đã sửa trong bookworm 6.1.190-1 (DLA-4841-1), bookworm linux-6.12 6.12.113-1~deb12u1 (DLA-4850-1) và trixie 6.12.113-1 (DSA-6568-1); forky và sid đã được sửa. |
Red Hat (đánh giá sửa đổi ngày 30 tháng 10; bản tin cập nhật lần cuối ngày 2 tháng 11). Trang CVE chính thức đánh giá vấn đề ở mức Critical, CVSS v3.1 9.8, vì kẻ tấn công từ xa không cần xác thực có thể làm hỏng bộ nhớ nhân hoặc làm sập hệ thống thông qua lưu lượng IPv4 TCP thông thường. RHEL 8, 9, 10 và OpenShift được liệt kê là bị ảnh hưởng; nhân RHEL 7 được liệt kê là không bị ảnh hưởng vì không có đoạn mã liên quan. Từ ngày 1 tháng 11, dữ liệu CVE của Red Hat liệt kê các nhân đã sửa lỗi: kernel-4.18.0-553.182.1.el8_10 (RHEL 8), kernel-5.14.0-687.64.1.el9_8 (RHEL 9) và kernel-6.12.0-211.72.1.el10_2 (RHEL 10). Bản tin bảo mật RHSB-2026-016 vẫn được đánh dấu là đang tiếp diễn và là nơi mô tả quy trình giảm thiểu. Không nên trình bày các điểm số cũ từ nguồn thứ cấp như 5.9 hoặc 8.1 như là đánh giá hiện tại của Red Hat.
Ubuntu (bảng chính thức cập nhật lần cuối ngày 30 tháng 10). CVSS của CVE là 9.8, trong khi mức ưu tiên riêng của Ubuntu là High. Các gói linux tiêu chuẩn cho Ubuntu 26.10, 26.04, 24.04 và 22.04 được đánh dấu “Vulnerable, work in progress”, với các phiên bản sửa lỗi dự kiến hiển thị trên trang; 20.04 được đánh dấu Vulnerable, cùng các trạng thái khác. Các biến thể nhân AWS, Azure, HWE, RT và các biến thể khác phải được đánh giá riêng. “Work in progress” không có nghĩa là bản sửa lỗi đã được phát hành.
Oracle Linux. Đánh giá riêng của Oracle là Important, với điểm CVSS tạm thời là 8.1. Errata UEK cho OL7, OL8, OL9 và OL10 có ngày 16 tháng 10, và errata RHCK cho OL8 và OL10 được phát hành tiếp theo vào ngày 2 tháng 11. Không được suy rộng các bản sửa trong UEK sang RHCK hoặc mọi bản phát hành phụ; hãy đánh giá nhân đã cài đặt và erratum chính xác.
Debian. Security Tracker chính thức đánh dấu bookworm-security 6.1.190-1 và trixie-security 6.12.113-1, cùng một số phiên bản khác, là đã sửa. Hãy xác minh cả phiên bản gói đã cài đặt và nhân đang chạy sau khi khởi động lại.
Kết quả CVSS có thể khác nhau giữa CNA và các nhà cung cấp do cấu hình và bản sửa riêng của từng bản phân phối, và các đánh giá có thể thay đổi. Hãy luôn ghi lại ngày xác minh và liên kết đến từng nguồn chính thức.
Hành động phòng thủ: giảm thiểu không thay thế được bản vá
Ưu tiên hàng đầu là cài đặt nhân đã sửa lỗi được nhà cung cấp phê duyệt và xác minh phiên bản đang chạy sau khi khởi động lại. Khi chưa có bản sửa, hãy cân nhắc đóng các dịch vụ TCP công khai không cần thiết, giới hạn các mạng nguồn được phép và ưu tiên giám sát các máy chủ bị phơi nhiễm.
Bản tin của Red Hat mô tả một biện pháp giảm thiểu bằng nftables, loại bỏ các gói IPv4 TCP đến có mang tùy chọn IP trong header IPv4:
table inet cve_2026_98432 {
chain input {
type filter hook input priority -310; policy accept;
ip protocol tcp ip hdrlength > 5 counter drop
}
}
Đây không phải là biện pháp bảo vệ hoàn toàn, có thể làm gián đoạn các workload dựa vào tùy chọn IP và phải được kiểm thử tác động lên lưu lượng nghiệp vụ trước khi triển khai. Các tùy chọn TCP thông thường trong header TCP vẫn được cho phép; đây không phải là việc chặn trường TCP Options. Trên OpenShift, các quy tắc ở cấp node không lọc lưu lượng giữa các pod bên trong mạng cluster, vì vậy việc lọc tại ranh giới mạng là quan trọng ở đó. Hãy xóa table này khi nhân đã sửa lỗi đang chạy.
Mẹo: Sau khi vá, hãy so sánh uname -r với phiên bản đã sửa trong erratum của nhà cung cấp và lưu kết quả đó cùng hồ sơ thay đổi. Một gói đã cài đặt nhưng chưa được khởi động vào sẽ không khắc phục được lỗ hổng.
Trên Linux, gói net của Go trong Go 1.24 trở lên bật MPTCP cho listener theo mặc định. Nhóm Go ghi rõ GODEBUG=multipathtcp=0 là cách để tắt tính năng này (cũng có thể dùng dòng godebug trong go.mod). Một đề xuất thay đổi giá trị mặc định vẫn đang được thảo luận, và những người duy trì Go chỉ ra rằng nhân đã được vá mới là giải pháp thực sự. Thiết lập này có thể giảm mức phơi nhiễm trước đường tấn công phụ thuộc MPTCP mà Anthropic đã chứng minh, nhưng không sửa được bản thân lỗi UAF trong nhân. Hãy rà soát việc sử dụng MPTCP theo từng dịch vụ.
Góc nhìn của LOGIQ
Việc bảo trì Linux doanh nghiệp không thể xác định mức độ an toàn chỉ dựa vào một điểm CVSS công khai hay uname -r. Hãy đánh giá đồng thời phiên bản hệ điều hành, dòng nhân (ví dụ UEK so với RHCK), phiên bản gói, nhân đang được khởi động, mức phơi nhiễm mạng, thiết lập MPTCP, errata của nhà cung cấp và bằng chứng khởi động lại. Hãy theo dõi toàn bộ chuỗi từ đánh giá tác động và xác thực đến triển khai và giám sát vận hành.
Khi bản sửa của nhà cung cấp chưa có, hãy ghi lại rủi ro còn lại của các biện pháp giảm thiểu tạm thời và đánh giá lại chúng sau khi có bản vá. Khi AI làm tăng khả năng khai thác thực tế của các lỗ hổng, việc bảo trì doanh nghiệp phải bao quát toàn bộ vòng đời: phát hiện, xác minh, khắc phục và bằng chứng về việc hệ thống vận hành ổn định.
Nguồn chính và tài liệu tham khảo
- Thông báo CVE của Linux: CVE-2026-98432: ipv4: free inet_opt and ireq_opt after an RCU grace period (ngày 15 tháng 10 năm 2026)
- Commit sửa lỗi upstream: e3f33b0a1d89
- Nghiên cứu của Anthropic: Discovering vulnerabilities with Claude (ngày 27 tháng 10 năm 2026)
- Trang CVE của Red Hat: CVE-2026-98432
- Bản tin bảo mật của Red Hat: RHSB-2026-016
- Ubuntu: CVE-2026-98432
- Oracle Linux: CVE-2026-98432
- Debian: Security Tracker CVE-2026-98432
- Thảo luận chính thức của Go: proposal: net: Disable MPTCP by default (#82717)
- Bài viết đầu tiên của ASCII.jp: Bài báo của ASCII.jp (ngày 30 tháng 10 năm 2026, tiếng Nhật)
Global
Japan
Korea
China
Taiwan
Thailand
Indonesia
Portugal
Spain
France
Germany
Egypt
Russia