紧急扩散:Linux系统bash严重安全漏洞CVE-2014-6271的检测及修复方法
今天白天,重量网络在群里提醒我,说 Linux 出现了严重的 bash 漏洞,一直在忙也没怎么关注,晚上空闲看了下,发现确实非常严重,必须紧急扩散出去,防止服务器被黑客入群,造成严重的后果!
9 月 25 日消息,继“心脏流血”漏洞之后,安全研究专家又发现了一个危险级别为“毁灭级”(catastrophic)的漏洞,开源软件公司 Red Hat 在一份报告中称,在 Linux 系统中广泛使用的 Bash 软件漏洞有可能让黑客利用攻击一切连入互联网的设备。
该漏洞编号为 CVE-2014-6271,主要存在于 bash 1.14 - 4.3 版本中,受影响的 linux 系统包括:Red Hat 企业 Linux (versions 4 ~7) 、Fedora distribution、CentOS (versions 5 ~7)、Ubuntu 10.04 LTS,12.04 LTS 和 14.04 LTS、Debian 等。
受影响的软件及系统:GNU Bash <= 4.3。
GNU Bash 4.3 及之前版本在处理某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行 shell 命令。 漏洞可以直接在 Bash 支持的 Web CGI 环境下远程执行任意命令!一些路由器、堡垒机、V** 等网络设备也可能会受到影响.当 cgi 程序里需要创建子进程,且环境变量可控时,攻击者可以通过 useragent,querystring 等 http 特性构造恶意攻击代码进行远程攻击,可能直接导致服务器被恶意控制,从而导致数据存在泄露的风险。
美国国土安全部下属的美国电脑紧急响应团队(以下简称“US-CERT”)发出警告称,这一漏洞可能影响基于 Unix 的操作系统,包括 Linux 和 Mac OS X。
漏洞详情页面:http://seclists.org/oss-sec/2014/q3/650 漏洞级别:非常严重 RedHat 官方提供漏洞详情: A flaw was found in the way Bash evaluated certain specially crafted environment variables. An attacker could use this flaw to override or bypass environment restrictions to execute shell commands. Certain services and applications allow remote unauthenticated attackers to provide environment variables, allowing them to exploit this issue.
RedHat 官方提供的检测方式:
登录终端,运行如下命令:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
如果返回以下内容:表示存在次漏洞,则请尽快升级。
vulnerable
this is a test
目前官方已经提供了升级包请执行如下命令进行升级处理:
yum update -y bash
升级后,再一次执行前面的命令进行检测,若出现如下信息,则表示已修复:
而 Ubuntu 用户则可以通过如下命令升级 bash:
apt-get update apt-get install bash
其他 Linux 发行版,没有在线安装功能的,请使用以下脚本编译安装 bash 漏洞补丁:
#!/bin/bash
cd /usr/local/src
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
tar zxf bash-4.3.tar.gz ; cd bash-4.3
wget -r -nd -np http://ftp.gnu.org/gnu/bash/bash-4.3-patches/
for BP in `ls bash43-*|grep -v sig`; do patch -p0 < $BP; done
./configure
make && make install
漏洞是否修复成功的检测方法与前文一样。另外,有人提到升级后是否需要重启服务器?其实是不需要的,只要通过漏洞检测即可。当然,你要不放心,重启下也是可以的。。。
此次漏洞很严重,请看到此消息的朋友互相宣传扩散,谨防此漏洞带来任何损失。
最新补充:已更新最新的漏洞情况及修复检测方法,请移步==>
- JournalNode的edits目录没有格式化异常分析
- 聊一聊Javasript继承
- Git基础命令使用(个人总结)
- Centos搭建Docker环境
- Consul Config 使用Git做版本控制的实现
- 让XP支持4G内存
- Consul微服务的配置中心体验篇
- 如何使用Sentry实现Hive/Impala的数据脱敏
- 如何使用Oozie API接口向Kerberos环境的CDH集群提交Shell作业
- Docker下redis的主从、持久化配置
- vuejs、eggjs、mqtt全栈式开发设备管理系统
- Xss和Csrf介绍
- GraphQL介绍&使用nestjs构建GraphQL查询服务
- 使用auth_request模块实现nginx端鉴权控制
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 小白学PyTorch | 9 tensor数据结构与存储结构
- 科研SCI论文图片基础知识详解
- vue3.0的异步更新原理
- 小白学PyTorch | 10 pytorch常见运算详解
- vuex的基础知识点
- 小白学PyTorch | 11 MobileNet详解及PyTorch实现
- 小白学PyTorch | 12 SENet详解及PyTorch实现
- 重拾前端技能为你的职业前程保驾护航
- input切换显示与隐藏,歘~
- 小白学PyTorch | 13 EfficientNet详解及PyTorch实现
- Java 比较两个字符串内容是否相等
- 前端模块化发展史
- 前端性能优化
- 突击并发编程JUC系列-原子更新AtomicLong
- Windows下指定的服务已经标记为删除”