警惕Memcached远程代码执行漏洞(最后两张图亮了!)
Posted 青藤云安全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了警惕Memcached远程代码执行漏洞(最后两张图亮了!)相关的知识,希望对你有一定的参考价值。
当时时间10月31日,Memcached爆出多个远程代码执行漏洞,青藤安全运维团队立刻响应,在第一时间通知客户漏洞详情及修复建议。
0x00 漏洞概述
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap,其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
在Memcached负责处理Memcached的二进制协议的process_bin_append_prepend、process_bin_sasl_auth、process_bin_update函数中,多个命令存在整数溢出,这个漏洞可以被利用导致堆溢出并远程执行代码。
0x01 漏洞威胁
漏洞类型:远程代码执行、拒绝服务
危险等级:高级
利用条件:Memcached 11211端口外网可访问,Memcached版本小于1.4.33
受影响系统: Memcached<1.4.33
0x02 漏洞编号
CVE-2016-8704 - Memcached Append/Prepend 远程代码执行漏洞
CVE-2016-8705 - Memcached Update 远程代码执行漏洞
CVE-2016-8706 - Memcached SASL身份验证远程代码执行漏洞
0x03 漏洞描述
2016年10月31日,Memcached发布安全补丁修复多个远程代码执行漏洞,黑客可利用该漏洞,导致Memcached服务崩溃从而造成拒绝服务。在Memcached负责处理Memcached的二进制协议的process_bin_append_prepend、process_bin_sasl_auth、process_bin_update函数中,多个命令存在整数溢出,这个漏洞可以被利用导致堆溢出并远程执行代码。
这些漏洞存在于用于Append(0x0e), Prepend ( 0x0f), AppendQ (0x19), PrependQ ( 0x1a),Set ( 0x01),Add ( 0x02), Replace ( 0x03) , SetQ ( 0x11), AddQ ( 0x12) and ReplaceQ ( 0x13) 调用 process_bin_append_prepend、process_bin_update函数时, 修改键值对的函数中,在SASL身份验证位置调用process_bin_sasl_auth也存在问题。
若Memcached部署在内网环境中,远程攻击者可通过内网渗透或SSRF漏洞等,对部署在内网的服务发起攻击。
0x04 漏洞利用(POC)
1). CVE-2016-8704
2). CVE-2016-8705
3). CVE-2016-8706
0x05 修复建议
1) 限制Memcached 的11211端口访问(禁止外网访问、设置特定主机访问)。
2) 升级更新到官方最新版本:1.4.33 (可点击“阅读原文”下载最新版本)。
0x06 即时检测
青藤云安全在Memcached远程代码执行漏洞爆出的第一时间,就己检测出该威胁并通知相关客户。
图1 Ubuntu检测结果(重点:右侧鸟瞰图)
图2 centos检测结果(重点:右侧鸟瞰图)
以上是关于警惕Memcached远程代码执行漏洞(最后两张图亮了!)的主要内容,如果未能解决你的问题,请参考以下文章
警惕Apache Struts2最新(CVE-2017-5638,S02-45)漏洞
七夕咱一起验证漏洞✨ IIS7/7.5对文件名畸形解析导致远程代码执行❤️