Bash漏洞再次演进:缓冲区溢出导致远程任意命令执行
近几天,“Shellshock”Bash漏洞的出现可谓是给安全界投放了一颗重型炸弹,越来越多的厂商和黑白帽子都纷纷加入到分析阵营当中,同时也接二连三爆出了更多针对Bash的漏洞,明显出现了一种“破窗效应”,当我们以为CVE-2014-6271已经够劲爆的时候,殊不知,这仅仅是一个开始,而且,是一个最为简单的开始。
先来简单回顾一下这两天针对Bash的各种漏洞历程:
CVE-2014-6271
这是最原始的Bash漏洞,由redhat发现并予以披露,关于这个漏洞,我们不多说了。
CVE-2014-7169
redhat给出补丁的当日,由Tavis Ormandy(twitter@taviso)成功绕过
CVE-2014-7186
redir_stack函数内存读取溢出漏洞
参考资料:
http://seclists.org/oss-sec/2014/q3/712
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7186
接下来是我们今天不得不提的另一个最新漏洞:
CVE-2014-7187
嵌套循环的数组越界溢出(off-by-one error)
7187是一个最新的Bash漏洞,根据官方的说明文档,其存在于parse.y中的read_token_word函数,可以通过构造可执行程序的BSS字段产生漏洞,将允许任意远程代码执行。Twitter上面已经有人分别在Ubuntu14.04LTS和OSX 10.9.5上验证了该漏洞:
Ubuntu14.04LTS
OSX 10.9.5
由于目前信息不足,我们仍然无法确定更多的危害性,但是FreeBuf会对“破壳”事件进行持续性的跟踪报道。我们同时也希望各大相关厂商密切关注此事动态。
漏洞检测工具:
如果您不能够确定您的服务器是否受以上几个漏洞影响,可以采用以下方式进行检测:
https://github.com/hannob/bashcheck
FreeBuf观点:
关于这个漏洞,首先让小编想到的是之前的Struct2漏洞,那个时候情况与此类似,因为一个过滤不严的漏洞爆出,致使更多的安全界人士参与到漏洞的研究中来,形成了我们常说的“破窗效应”即“墙倒众人推”的局面。虽然这是一个痛苦的过程,但是我们应该相信,只有这样我们的网络才会更加的安全,阵痛过后才会有新生。
另外,可能在Bash漏洞(Shellshock)刚刚出来的时候,各大安全厂商都经历了几个不眠不休的夜晚,可是官方的一个Patch(补丁)又让我们的汗水付诸东流,然后一个新的绕过方法又让旧的Patch失去效果…
白帽子们正在用实际行动告诉厂商:
“我们不是为了赢得什么,我们就是认真!”
参考资料:
https://twitter.com https://access.redhat.com/security/cve/CVE-2014-7187 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7187
[文/FreeBuf小编xia0k 原创文章,转载请注明转自FreeBuf.COM]
- Redis(2):常用命令详解
- C#移动跨平台开发(2)Xamarin移动跨平台解决方案是如何工作的?
- Ruby(3):基本语法中
- Python(3):文件读写与异常
- 向ASP.NET Core迁移
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
- 从XMLHttpRequest请求响应里getResponseHeader(header)报错:Refused to get unsafe header "**" 问题解决
- 全面理解 ASP.NET Core 依赖注入
- jq实现上传头像并实时预览功能
- 初探领域驱动设计(2)Repository在DDD中的应用
- js取整并保留两位小数的方法
- 异步编程 In .NET
- 判断标签是否包含class的方法
- vue.js使用props在父子组件之间传参
- 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 数组属性和方法
- SpringBoot整合easyexcel
- socket网络编程基础
- Java自动化测试(登陆接口测试 14)
- poiAndEasyExcel学习(一)
- IP地址与子网划分
- HDFS异构存储简介
- Milvus 实战 | 基于 Kubernetes 的分布式集群部署方案
- Linux Bash基础(二)
- poiAndEasyExcel学习(二)
- poiAndEasyExcel学习(三)
- poiAndEasyExcel学习(四)
- 使用OpenCV为视频中美女加上眼线
- 论文精读|5th|YOLO v3的新特性|目标检测|附下载
- 算法集锦(9)|自动驾驶|道路图像增强算法
- 基于OpenCV实现海岸线变化检测