Bảo mật Linux phải đối mặt với một thách thức khác sau khi phát hiện ra... Lỗ hổng bảo mật CVE-2026-31431, được đặt tên là "Copy Fail" do các nhà nghiên cứu tại Xint Code thực hiện. Vấn đề thiết kế này không chỉ đơn thuần là một lỗi lý thuyết, mà còn là một vấn đề khác. Nó cho phép người dùng cục bộ không có đặc quyền nâng cao quyền hạn và giành quyền truy cập đầy đủ. với tư cách là người dùng siêu cấp một cách dễ đoán và âm thầm.
Các nhà nghiên cứu cho biết lỗ hổng này đã được khai thác thành công trên các bản phân phối hàng đầu như Ubuntu, Amazon Linux, RHEL và SUSE, qua đó xác nhận điều này. bất kỳ hệ thống nào chạy nhân hệ điều hành phiên bản cao hơn 4.14 và duy trì Việc kích hoạt hỗ trợ cho socket AF_ALG tiềm ẩn nguy cơ bị tấn công. đối với cuộc tấn công này.
Thao tác tại chỗ và tràn bộ nhớ đệm trang
Về phán quyết, có đề cập rằng điều này Nguồn gốc của nó đến từ một cải tiến được giới thiệu vào năm 2017 trong API mã hóa của nhân hệ điều hành (AF_ALG). Sự sửa đổi này Tôi đang tìm cách loại bỏ việc đệm dữ liệu không cần thiết. Thực hiện các thao tác mã hóa xác thực (AEAD) trực tiếp trong cùng một không gian bộ nhớ, được gọi là các thao tác "tại chỗ".
El Một vấn đề nghiêm trọng phát sinh khi kết hợp tối ưu hóa này với hàm splice(), Phương pháp này truyền dữ liệu giữa các bộ mô tả tập tin bằng cách truyền các tham chiếu trực tiếp đến bộ nhớ đệm trang của nhân hệ điều hành thay vì sao chép dữ liệu vật lý. Khi yêu cầu giải mã, cấu trúc bộ nhớ được cấu hình sao cho vùng đệm đích, vốn là không gian tạm thời dành cho người dùng, lại được liên kết trực tiếp với các trang bộ nhớ đệm chứa dữ liệu tập tin hệ thống.
Xác thực và ghi dữ liệu vượt quá giới hạn bộ nhớ.
El Nguyên nhân cuối cùng dẫn đến lỗ hổng nằm ở hành vi bất thường của thuật toán xác thực. Không giống như các thuật toán mã hóa khác tuân thủ nghiêm ngặt các giới hạn của vùng đệm đích, Thuật toán cụ thể này sử dụng không gian bộ nhớ của người dùng làm khu vực làm việc tạm thời. (bảng nháp) để sắp xếp lại chuỗi byte trong quá trình tính toán thẻ xác thực.
Trong quá trình này, thuật toán ghi thêm bốn byte vượt quá giới hạn đã thiết lập cho vùng đầu ra. Do tối ưu hóa tại chỗ và chuỗi tham chiếu được tạo bởi hàm splice(),Những dòng chữ tưởng chừng vô hại này lại vượt quá giới hạn trí nhớ của người dùng. và được lưu trực tiếp vào trang bộ nhớ cache của nhân hệ điều hành liên kết với tệp đang được xử lý.
Chuỗi sai lầm logic này Nó cho phép kẻ tấn công ghi đè tùy ý bốn byte tại các vị trí bộ nhớ đệm cụ thể. số trang cho bất kỳ tập tin nào nó có thể đọc. Bằng cách gửi một loạt các yêu cầu được tính toán, Kẻ tấn công có thể chèn mã độc hại. trong phiên bản bộ nhớ của các tập tin thực thi quan trọng có bit suid được đặt, chẳng hạn như công cụ chuyển đổi người dùng.
Vì tất cả các thao tác đọc đều truy vấn bộ nhớ đệm trang trước, nên lần tiếp theo tiện ích hợp pháp được gọi, Hệ thống sẽ thực thi đoạn mã được chèn từ bộ nhớ, cấp quyền root ngay lập tức. mà không hề thay đổi tệp vật lý trên ổ cứng. Thậm chí đáng báo động hơn, vì cơ chế cách ly container chia sẻ bộ nhớ cache trang của máy chủ bên dưới, lỗ hổng này đóng vai trò như một cửa ngõ trực tiếp để thoát khỏi môi trường ảo hóa như cụm Kubernetes và xâm phạm nút chính.
Các giải pháp vá lỗi khẩn cấp và khắc phục sự cố
Với tính chất nghiêm trọng của phán quyết này, Các đội bảo trì đã triển khai các bản cập nhật khẩn cấp. trong đó giải pháp cuối cùng nằm ở đâu Hoàn tác quá trình tối ưu hóa tại chỗ trong tệp algif_aead.c, tách biệt hoàn toàn danh sách bộ nhớ nguồn và đích. Để ngăn các trang được lưu trong bộ nhớ cache rơi vào các đường dẫn có thể ghi.
Các bản vá này đã được tích hợp vào nhân hệ điều hành 6.18.22, 6.19.12 và 7.0, và đang được chuyển ngược trở lại các nhánh hỗ trợ dài hạn. Đối với các quản trị viên không thể khởi động lại hoặc cập nhật máy chủ ngay lập tức, nên vô hiệu hóa mô-đun nhân algif_aead nếu nó được biên dịch bên ngoài, hoặc hạn chế nghiêm ngặt việc tạo socket AF_ALG bằng các chính sách bảo mật như SELinux, một lá chắn đã giúp bảo vệ các thiết bị Android hiện tại khỏi mối đe dọa này.
Cuối cùng, nếu bạn muốn tìm hiểu thêm, bạn có thể xem chi tiết tại liên kết sau.