漏洞预警MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

Posted 安全客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漏洞预警MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)相关的知识,希望对你有一定的参考价值。

漏洞发现人: Dawid Golunski
漏洞级别: 严重
CVE编号: CVE-2016-6663 / CVE-2016-5616
漏洞影响:

漏洞描述:

Dawid Golunski在 mysql, MariaDB 和 PerconaDB 数据库中发现条件竞争漏洞,该漏洞允许本地用户使用低权限(CREATE/INSERT/SELECT权限)账号提升权限到数据库系统用户(通常是'mysql')执行任意代码。成功利用此漏洞,允许攻击者完全访问数据库。也有潜在风险通过(CVE-2016-6662 和 CVE-2016-6664漏洞)获取操作系统root权限。

漏洞细节:

基于MYSQL的数据库允许用户新建数据库,并且指定存储目录。例如:

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

可以通过data directory参数指定存储目录为/tmp/disktable/

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

执行完成后,查看下目录权限,变为mysql

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

低权限(SELECT/CREATE/INSERT权限)的MYSQL账户,在执行表修复过程中,执行了不安全的临时文件创建。

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

通过查看系统调用,可以看到

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

第一个系统调用是

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

我们可以看到,在检验poctab1.MYD表文件权限的时候,也会复制在创建repaired表时的临时文件chmod()权限。因此在

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

系统调用之间,产生了条件竞争漏洞。

如果攻击者删除临时表poctab1.TMD,然后通过符号链接在chmod()操作前替换/var/lib/mysql,则能够完全控制MYSQL的data目录权限。

攻击者可以预设置poctab1.MYD权限为04777(suid),然后通过有漏洞的chmod()调用有效的复制一个bash shell来执行命令。这里会有一个问题,suid shell将只会保留攻击者的UID,而不是'mysql'用户。因此攻击者需要复制bash shell到mysql用户用户的表文件,然而mysql表文件又不具有写权限。

可以通过新建一个具有组粘帖位(group sticky bit)的目录来绕过这个限制

新建/tmp/disktable/目录,并赋予组粘帖位(group sticky bit)

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

通过data directory参数指定存储目录为/tmp/disktable/

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

再次查看/tmp/disktable/权限

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

我们可以看到poctab2.MYD表已经是'mysql'权限了,但是属于'attacker'组。这样'attacker'就能够复制/bin/bash到poctab2.MYD文件了。

漏洞验证:

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

POC:

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)
【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)
【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)
【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)
【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)
【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

视频参考(作者随后上传):

http://legalhackers.com/videos/MySQL-MariaDB-PerconaDB-PrivEsc-Race-CVE-2016-6663-5616-6664-5617-Exploits.html

临时解决办法:

在my.cnf中添加

【漏洞预警】MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

参考链接:

http://legalhackers.com/advisories/MySQL-Maria-Percona-PrivEscRace-CVE-2016-6663-5616-Exploit.html


以上是关于漏洞预警MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)的主要内容,如果未能解决你的问题,请参考以下文章

预警Zabbix SQL注入漏洞 威胁预警通告

漏洞预警 | solr远程代码执行漏洞

预警通报关于Apache Tomcat WebSocket拒绝服务 漏洞的预警通报

漏洞预警Oracle WebLogic wls9-async组件存在反序列化远程命令执行漏洞预警通告

漏洞预警SaltStack远程命令执行漏洞

漏洞预警 | 高危Struts REST插件远程代码执行漏洞(S2-052)