首页/安全/安全加固速查/bash Shellshock 类漏洞自查
补丁与漏洞管理50 条

bash Shellshock 类漏洞自查

Shellshock(CVE-2014-6271 系列)影响 bash 环境变量处理:老设备/镜像仍可能带病,自查脚本可作为常规巡检项。

安全加固速查安全更新于 2026-10-13

环境变量也能变成命令

Shellshock(CVE-2014-6271 系列)利用的是 bash 对环境变量中函数定义的处理方式:攻击者可以把额外命令拼接在函数定义之后,bash 在解析环境变量时会一并执行。凡是能把外部输入转成环境变量再交给 bash 的场景都受影响,其中 CGI 网关类部署风险最高。老设备、老旧镜像与嵌入式系统仍可能带病,因此这条自测值得作为常规巡检项保留。

基本信息

适用平台Linux 与 macOS(bash 解释器)
受影响组件bash(含以 bash 为 sh 的系统与 CGI 场景)
自测方式构造带函数定义的环境变量,观察是否执行额外命令
基线bash 已修复 Shellshock 全系列(含后续变体)
风险等级高

典型使用场景

  • 资产清点:排查老设备与老镜像中的 bash 版本
  • 对外 CGI 与网关系统:风险最高,优先复测
  • 容器与嵌入式设备:基础镜像与固件长期未更新
  • 合规核查:作为高危历史漏洞的复测证据
  • 补丁验证:升级 bash 后用同一方法复测确认已修复

快速自测

快速自测
env x='() { :;}; echo vulnerable' bash -c 'echo test' 2>&1
bash --version | head -1
rpm -q bash 2>/dev/null; dpkg -l bash 2>/dev/null | tail -2
# 输出包含 vulnerable 即存在风险;升级 bash 后复测
ls -l /bin/sh                                  # 若指向 bash,影响面需重新评估
sudo dnf update -y bash 2>/dev/null || sudo apt-get install --only-upgrade -y bash

自测结果读法

结果含义处置
输出含 vulnerable存在 Shellshock 风险立即升级 bash 并复测
输出仅 test当前不受该测试方法影响仍需确认是否含后续变体修复
bash --version 很旧版本长期未更新检查发行版公告与包状态
/bin/sh 指向 bash影响面扩大确认脚本环境是否受影响
系统无 bash以其它 shell 提供仍要核查依赖 bash 的脚本
CGI 与网关类场景(脚本通过环境变量触达 bash)风险最高:有对外 CGI 的老系统要优先复测,必要时先下线或前置访问控制。

落地要点

  • 补丁不完整的系统对后续变体(如 CVE-2014-7169)仍可被利用:要装全系列修复
  • 嵌入式设备与老旧镜像的 bash 版本往往很老,清点时应单独列为一类
  • 升级 bash 属高风险操作:保留一个可用会话与带外通道
  • 复测要使用与初次相同的命令,结果才具备可比性
  • 把自测脚本纳入例行巡检,新入网设备统一跑一遍
升级系统 shell 前先确认关键脚本的兼容性:bash 版本跨越较大时,历史脚本的行为可能有细微差异。

易错点

  • 只测一次不复测:升级后未验证,无法确认修复真的落地
  • 忽略后续变体补丁:部分修复只覆盖首个漏洞,后续变体仍可被利用
  • 漏掉嵌入式设备与老旧镜像:这些资产的 bash 版本最旧,属于高风险盲区
  • 用网络扫描器结论代替本机自测:扫描结果受网络与规则影响,本机自测更直接

数据来源与参考

  • CVE-2014-6271 及系列(US-CERT TA14-268A)
  • 发行版安全公告

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌