Hạn chế lỗ hổng Copy Fail (CVE-2026-31431)

Kính gửi Quý khách hàng VinaHost,

VinaHost xin thông báo về một lỗ hổng bảo mật nghiêm trọng mới được công bố ngày 29/04/2026., có mã CVE-2026-31431, tên gọi “Copy Fail”.

Mô tả lỗ hổng

Đây là một lỗi logic trong mã hóa kernel (algif_aead) được tồn tại từ năm 2017. Lỗi này cho phép bất kỳ user cục bộ nào trên server của Quý khách nâng đặc quyền lên root chỉ bằng một script Python.

Cùng một exploit code hoạt động mà không cần sửa đổi trên toàn bộ distro Linux từ 2017 đến nay (Ubuntu, RHEL, Debian, SUSE, v.v.).

Phạm vi ảnh hưởng

Toàn bộ Linux distro dùng kernel phát hành từ 2017 đến nay nếu chưa vá: Ubuntu (< 26.04), RHEL, AlmaLinux, Rocky, CloudLinux, CentOS, Debian, SUSE, Amazon Linux 2023, Fedora. Thông báo này dành cho khách hàng sử dụng VPS / Cloud / Server / Colocation chạy Linux có cấp shell access cho user không phải root.

Cụ thể:

  • Nếu Quý khách chỉ sử dụng tài khoản root hoặc chỉ chạy ứng dụng độc lập → rủi ro thấp hơn, nhưng vẫn nên cập nhật.
  • Nếu cấp shell cho nhân viên, developer, hoặc chạy web app với user không root → rủi ro cao, cần cập nhật ngay.
  • Nếu sử dụng Docker/Kubernetes trên shared kernel → có thể escape khỏi container → nguy hiểm.
  • Nếu là CI/CD runner chạy code từ PR → PR code có thể trở thành root.

Hành động khuyến nghị

1️. Ưu tiên: Cập nhật kernel ngay

Bản kernel đã vá đã được phát hành bởi các nhà cung cấp distro. Chọn lệnh phù hợp với distro của Quý khách:

Ubuntu / Debian:

sudo apt update && sudo apt upgrade
sudo reboot

AlmaLinux / Rocky / RHEL / CentOS Stream:

sudo dnf clean metadata
sudo dnf upgrade 'kernel*'
sudo reboot

Sau reboot, xác minh kernel đã cập nhật: uname -r

2. Biện pháp tạm thời với Ubuntu / Debian: (nếu chưa thể cập nhật)

Mục tiêu: vô hiệu hoá module kernel algif_aead để giảm thiểu rủi ro liên quan tới CVE-2026-31431 (Copy Fail).

Bước 1: Kiểm tra module algif_aead đang được sử dụng hay chưa

Chạy lệnh sau:

lsmod | grep algif_aead

Ví dụ kết quả:

Module                  Size  Used by
algif_aead             16384  0
af_alg                 32768  1 algif_aead
  • Cột thứ 3 (Used by) cho biết số lượng thực thể đang sử dụng module.
  • Nếu giá trị là 0, module đang được nạp nhưng không có tiến trình/phụ thuộc nào sử dụng trực tiếp (thường có thể gỡ an toàn hơn).
Bước 2: Vô hiệu hoá và gỡ module algif_aead
  1. Chặn module tự động được nạp lại:
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
  1. Gỡ module khỏi kernel (nếu đang được nạp):
rmmod algif_aead

Lưu ý: Nếu rmmod báo bận (module đang được sử dụng), hãy kiểm tra lại các phụ thuộc/tiến trình đang dùng trước khi tiếp tục.

Bước 3: Xác minh lại sau khi gỡ

Kiểm tra bằng lsmod:

lsmod | grep algif_aead

Kiểm tra thư mục module trong /sys:

ls -lha /sys/module/algif_aead/

Nếu module đã được gỡ thành công, bạn sẽ thấy thông báo tương tự:

ls: cannot access '/sys/module/algif_aead/': No such file or directory

Tham khảo