Skip to main content

Command Palette

Search for a command to run...

Lỗ hổng leo thang đặc quyền root CIFSwitch tồn tại 19 năm ảnh hưởng nhiều bản phân phối Linux

Updated
6 min read
Lỗ hổng leo thang đặc quyền root CIFSwitch tồn tại 19 năm ảnh hưởng nhiều bản phân phối Linux

Vừa qua, nhà nghiên cứu bảo mật tại SpaceX Asim Viladi Oglu Manizada đã công khai lỗ hổng leo thang đặc quyền cục bộ (LPE) mang tên CIFSwitch trong Linux kernel cùng mã khai thác proof-of-concept (PoC) rộng rãi trên internet. Đáng chú ý, lỗ hổng này đã tồn tại trong kernel linux từ năm 2007, ảnh hưởng đến nhiều bản phân phối Linux phổ biến hiện nay.

Thông tin chi tiết

  • Định danh lỗ hổng: CVE-2026-46243

  • Điểm CVSS(3.1): 7.8

  • Mức độ nghiêm trọng: HIGH – Nghiêm trọng cao

  • Mô tả: CIFSwitch khai thác lỗi missing origin validation trong quá trình xử lý xác thực Kerberos/SPNEGO của CIFS kernel subsystem. Khi một CIFS network share sử dụng Kerberos để xác thực, kernel sẽ gửi yêu cầu tạo key kiểu cifs.spnego thông qua keyring subsystem, qua đó kích hoạt helper cifs.upcall chạy với đặc quyền root để thực hiện quá trình xác thực. Lỗ hổng phát sinh do kernel không xác minh rằng yêu cầu cifs.spnego thực sự xuất phát từ CIFS client nội bộ, cho phép người dùng không có đặc quyền giả mạo một yêu cầu cifs.spnego và kích hoạt toàn bộ luồng xác thực với dữ liệu do kẻ tấn công kiểm soát. Kẻ tấn công lợi dụng sự tin tưởng mù quáng của cifs.upcall vào các trường dữ liệu này để ép buộc một namespace switch, sau đó kích hoạt một Name Service Switch (NSS) lookup trước khi đặc quyền bị hạ xuống, từ đó nạp một NSS module độc hại và thực thi mã tùy ý với quyền root.

  • Phiên bản bị ảnh hưởng:

Bản phân phối Phiên bản bị ảnh hưởng
Linux Mint 21.3 và 22.3
CentOS Stream 9
Rocky Linux 9
AlmaLinux 9
Kali Linux 2021.4 đến 2026.1
SUSE Linux Enterprise Server 15 SP7

Việc khai thác yêu cầu đồng thời bốn điều kiện:

  • kernel version có lỗ hổng

  • cifs-utils version có lỗ hổng (6.14 trở lên hoặc một số phiên bản cũ hơn)

  • user namespaces được bật

  • Policy SELinux/AppArmor không chặn đường tấn công

Quá trình khai thác có thể được chia thành các giai đoạn sau:

Bước 1: Thu thập thông tin (Reconnaissance)

  • Mục tiêu: Xác định hệ thống mục tiêu đang chạy bản phân phối Linux bị ảnh hưởng với gói cifs-utils được cài đặt và user namespaces được bật.

  • Hành động: Kẻ tấn công đã có quyền truy cập cục bộ (local access) với tài khoản thấp quyền thực hiện kiểm tra: xem xét kernel version, kiểm tra cifs-utils đã cài, xác minh user namespaces khả dụng (cat /proc/sys/kernel/unprivileged_userns_clone).

Bước 2: Giả mạo yêu cầu SPNEGO (Key Request Forgery)

  • Kẻ tấn công tạo một yêu cầu key cifs.spnego giả mạo với các trường dữ liệu do chúng kiểm soát.

  • Do kernel không xác minh nguồn gốc của yêu cầu, helper cifs.upcall (chạy với quyền root) tin tưởng và xử lý dữ liệu giả mạo như thể đó là yêu cầu hợp lệ từ CIFS client nội bộ.

Bước 3: Chuyển đổi Namespace (Namespace Switch)

  • Kẻ tấn công lợi dụng các trường dữ liệu đã kiểm soát để ép buộc cifs.upcall thực hiện namespace switch.

  • Tại thời điểm này, helper vẫn đang hoạt động với đặc quyền root và chưa hạ xuống quyền thấp hơn.

Bước 4: Nạp NSS Module độc hại (Malicious NSS Module Loading)

  • Trước khi cifs.upcall hạ đặc quyền xuống, kẻ tấn công kích hoạt một NSS lookup.

  • NSS lookup này nạp một thư viện NSS module độc hại do kẻ tấn công chuẩn bị trước.

  • Vì quá trình nạp xảy ra trong khi đặc quyền root vẫn còn hiệu lực, mã trong module độc hại được thực thi với quyền root — hoàn thành quá trình leo thang đặc quyền.

Bước 5: Hậu khai thác (Post-Exploitation)

  • Cài đặt backdoor để duy trì truy cập lâu dài vào hệ thống.

  • Đánh cắp dữ liệu nhạy cảm, thông tin xác thực và khóa SSH.

  • Sử dụng máy bị kiểm soát làm bàn đạp lateral movement để tấn công sâu hơn vào mạng nội bộ.

CIFSwitch là lỗ hổng LPE thứ tư trên Linux kernel phải xử lý khẩn cấp trong vài tuần gần đây, tiếp nối Copy Fail (CVE-2026-31431 — đã bị khai thác thực tế và được CISA đưa vào danh sách KEV), Dirty Frag, Fragnesia, DirtyDecrypt và PinTheft (CVE-2026-43494).

Khuyến nghị & Khắc phục

Đội ngũ FPT Threat Intelligence khuyến nghị người dùng và quản trị viên thực hiện ngay các hành động sau:

  • Cập nhật bản vá: Cài đặt ngay bản cập nhật kernel từ kênh bảo mật chính thức của bản phân phối đang sử dụng ngay khi có. Bản vá upstream tương ứng với commit 3da1fdf4efbc.

  • Biện pháp tạm thời (nếu chưa thể vá ngay): Áp dụng một hoặc nhiều biện pháp sau để loại bỏ bề mặt tấn công:

    • Vô hiệu hóa module CIFS nếu không có nhu cầu sử dụng CIFS/SMB:

      echo "blacklist cifs" > /etc/modprobe.d/blacklist-cifs.conf
      
    • Gỡ cài đặt gói cifs-utils nếu không cần thiết:

      apt remove cifs-utils        # Debian/Ubuntu
      dnf remove cifs-utils        # RHEL/Fedora/Rocky
      
    • Vô hiệu hóa unprivileged user namespaces:

      sysctl -w kernel.unprivileged_userns_clone=0
      
  • Rà soát fleet Linux: Kiểm tra toàn bộ hệ thống xem gói cifs-utils có được cài đặt không, đặc biệt trên các server không có nhu cầu mount SMB share. Module CIFS thường hiện diện theo mặc định ngay cả trên các hệ thống không bao giờ sử dụng tính năng này.

  • **Giám sát bảo mật: **Ưu tiên giám sát các hệ thống đa người dùng như shared hosting, development server, HPC cluster. Rà soát log để phát hiện các hành vi bất thường liên quan đến cifs.upcall execution hoặc namespace switching từ tiến trình người dùng thấp quyền.

  • Rà soát chính sách User Namespace: CIFSwitch là một trong nhiều kỹ thuật leo thang đặc quyền trên Linux phụ thuộc vào unprivileged user namespaces. Nếu môi trường không có nhu cầu sử dụng, việc vô hiệu hóa toàn hệ thống sẽ tạo thêm lớp bảo vệ chuyên sâu (defence-in-depth) chống lại lỗ hổng này và các khai thác kernel trong tương lai.

Tham khảo

  1. CIFSwitch Linux Kernel Flaw Grants Local Root on cifs-utils

  2. CIFSwitch: a non-universal Linux local root vulnerability

  3. New CIFSwitch Linux flaw gives root on multiple distributions

More from this blog