CVE-2024-1086(dirty frag)check

特征

  • 描述

    Dirty Frag(官方编号 CVE-2024-1086)是 Linux 内核中一个极其严重的安全漏洞。它的绰号延续了 Linux 内核“Dirty”系列漏洞(如 Dirty COW, Dirty Pipe)的传统,暗示该漏洞涉及内存管理中的某种“脏”状态或竞争条件。
    
    简单来说,这是一个 本地提权(Local Privilege Escalation, LPE) 漏洞,允许一个没有任何特殊权限的普通用户,在几秒钟内获得系统的最高权限——Root。
  • 核心原理

    Dirty Frag 的病灶位于 Linux 内核的 Netfilter 子系统中。Netfilter 是负责防火墙(如 iptables, nftables)和数据包过滤的核心组件。
    
    分片处理错误:当内核处理异常的数据包分片(Fragmentation)时,Netfilter 的 nft_verdict_init 函数在处理特定的“裁决”(Verdict)逻辑时存在逻辑缺陷。
    
    释放后使用(Use-After-Free, UAF):攻击者可以通过精心构造的数据包,诱导内核释放掉一段仍在被使用的内存。
    
    内存篡改:由于这段内存被释放但内核仍认为它有效,攻击者可以利用这块“无主之地”来改写内核对象,最终劫持系统执行流。
  • 影响范围

    漏洞代码引入:2014 年的 v3.15(由提交 0b29669c 引入)。
    
    上游修复版本:内核官方在 2024 年 1 月底修复。以下稳定版内核(Stable Branches)只要高于这些版本即为安全:v6.7.3+ v6.6.15+ v6.1.76+ v5.15.149+ v5.10.209+ 
    v5.4.269+ v4.19.307+
  • 发行版系列受影响的代号受影响的内核主版本安全基准(已修复版本)
    Ubuntu23.10 (Mantic)6.5.x6.5.0-26.26 或更高
     22.04 (Jammy)5.15.x / 6.2.x / 6.5.x5.15.0-101.111 或更高
     20.04 (Focal)5.4.x / 5.15.x (HWE)5.4.0-174.193 或更高
    Debian12 (Bookworm)6.1.x6.1.76-1 或更高
     11 (Bullseye)5.10.x5.10.209-2 或更高
    RHEL / CentOSRHEL 95.14.05.14.0-362.24.2 或更高
     RHEL 84.18.04.18.0-513.18.1 或更高
     RHEL 73.10.03.10.0-1160.108.1 或更高
    Alma / Rocky8.x / 9.x同 RHEL 版本2024 年 3 月底发布的更新包
    Fedora38 / 396.x6.7.3-200.fc39 或更高
    Alpine Linux3.15 - 3.195.15.x - 6.6.x升级至 3.19.1 或更高

脚本

  • check

    sh -c 'printf "\n[CVE-2024-1086 Check]\nKernel: %s\nUserNS: %s\nNetfilter: %s\n" "$(uname -r)" "$(sysctl -n kernel.unprivileged_userns_clone user.max_user_namespaces 2>/dev/null | xargs | sed "s/ / \/ /" || echo "Disabled/N/A")" "$(lsmod | grep -q nf_tables && echo "LOADED (Warning)" || echo "CLEAN")"'
  • fix

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y linux-image-generic && sudo reboot
    
    # RHEL / CentOS / Alma / Rocky / Fedora / Oracle Linux 系列
    sudo dnf update -y kernel && sudo reboot
    
    # Alpine Linux 系列
    apk update && apk upgrade && reboot

检测结果

  • alpine

    [CVE-2024-1086 Check]
    Kernel: 6.18.24-0-virt
    UserNS: 15523
    Netfilter: LOADED (Warning)
    --------------- check pass -----------------
    Kernel:6.18 较新内核,补丁早已在源码合入,内核已免疫。
    UserNS: 允许适量非特权用户创建命名空间
    Netfilter: 模块虽已加载,漏洞函数 nft_verdict_init 在内核版本中已重构解决。
  • oraclelinux 1

    [CVE-2024-1086 Check]
    Kernel: 3.10.0-1160.118.1.el7.x86_64
    UserNS: 0
    Netfilter: CLEAN
    --------------- check pass -----------------
    Kernel: 版本过低反而更安全。该漏洞的代码是在 Linux 3.15 以后引入的
    UserNS: 禁止非特权用户创建命名空间
    Netfilter: 未加载 nf_tables 核心模块
  • oraclelinux 2

    [CVE-2024-1086 Check]
    Kernel: 6.12.0-108.64.6.3.el9uek.aarch64
    UserNS: 91464
    Netfilter: CLEAN
    --------------- check pass -----------------
    Kernel: 6.12,属于非常超前的内核版本,漏洞已修复
    UserNS: 允许大量非特权用户创建命名空间
    Netfilter: 未加载 nf_tables 核心模块