CVE-2012-5611MySQL/MariaDB 基于栈的缓冲区溢出漏洞

简述及利用代码:http://cve.scap.org.cn/CVE-2012-5611.html。

利用条件:需要有效的MySQL用户名和密码

1、MySQL零日漏洞概述

  为了确定最近MySQL零日漏洞的严重程度,我们首先必须深入分析每个漏洞。这些漏洞已经被分配了以下公共漏洞和暴露(Common Vulnerabilities and Exposures  CVE)ID:

  ◆ CVE-2012-5611 MySQL基于堆栈的缓冲区溢出:这是通过发送超长参数到GRANT FILE命令来触发的,该操作会导致堆栈缓冲区溢出。它将允许远程攻击者执行任意代码,甚至可能导致数据库崩溃。

  ◆ CVE-2012-5612 MySQL基于堆的溢出:低权限经验证的远程攻击者可以通过发送一系列特制的命令来导致堆缓冲区溢出。

  ◆ CVE-2012-5613 MySQL数据库权限提升:这并不被认为是一个安全漏洞,而是MySQL错误配置的结果,它可能导致远程认证用户获得管理员权限。

  ◆ CVE-2012-5614 MySQL拒绝服务(DoS):通过发送SELECT命令以及包含XML(有大量独特的嵌套元素)的UpdateXML命令,一个认证用户可导致拒绝服务。

  ◆ CVE-2012-5615 MySQL远程preauth用户枚举:远程攻击者可以基于MySQL生成的错误消息来发现有效的MySQL用户名。

  乍一看,这个列表似乎指出了很多令人担忧的问题,包括DoS攻击、权限升级、身份验证绕过和代码执行。但其实CVE-2012-5615已经出现很长一段时间了,并记录在MySQL开发者手册中。此外,如果攻击者想要成功利用漏洞CVE-2012-5611(实际上是复制了较旧漏洞CVE-2012-5579)和CVE-2012-5614,他/她将需要有效的MySQL用户名和密码。而对于CVE-2012-5613,攻击者则需要有FILE权限(对服务器的读/写访问)的人的有效登录账号。这并不是一个漏洞,因为这种已知的服务器行为只能发生在错误配置的服务器。手册上说,最多只能向数据库管理员授予FILE权限。

  因此,在实际情况中,只有CVE-2012-5612和5614需要引起真正的关注。通用漏洞评分系统(CVSS)是评估安全漏洞的标准方法,分数范围从0到10,0代表最不严重,10代表最严重。CVE-2012-5612的得分为6.5,CVE-2012-5614的得分为4.0,所以它们并不是最严重的漏洞。目前还没有报道有利用这些漏洞的攻击,但趋势科技已经发布了“深度包检测”(DPI)规则,并将这些漏洞涵盖在其防火墙规则中。

仍然担心MySQL安全?尝试替代方案

  对于仍然担心潜在漏洞的MySQL用户,可以采取一些措施来进一步保护MySQL。首先,确保远程用户发到数据库的命令经验证后为有效和符合常理的。例如,SHOW FIELDS FROM命令应该被阻止,这种命令只可能来自恶意用户。同时,确认MySQL没有监听可从互联网访问的端口;理想情况下,限制对主机或子网上MySQL的访问。确认所有测试账户和不必要的权限已被删除,当新版本发布时,尽快升级MySQL,因为其中修复了这些漏洞。

  在全面风险评估后,MySQL用户如果还觉得使用该产品的风险太大,可以考虑MariaDB,它是MySQL的二进制嵌入式替代品。它不仅功能与MySQL类似(它的开发者每个月与MySQL代码库混合,以确保兼容性),而且它经常先于MySQL打补丁。此外,它有MySQL中没有的很多选择、存储引擎和漏洞修复,虽然没有管理支持。

2、http://www.h3c.com.cn/Products___Technology/Products/IP_Security/Characteristic_Service_Area/Home/IPS_History/201212/769876_30003_0.htm

7970 Oracle MySQL/MariaDB acl_get()和check_grant_db_routine()函数缓冲区溢出漏洞
---- Category: Vulnerability
---- CVE: CVE-2012-5611
---- BID: http://www.securityfocus.com/bid/56769
---- Description:
---- Oracle MySQL Server是一个小型关系型数据库管理系统。MySQL 5.5.19、5.1.53及其他版本、Ma
---- riaDB 5.5.2.x、5.3.x、5.2.x、5.1.x内acl_get()、check_grant_db_routine()函数存在缓冲区
---- 溢出漏洞,具有MariaDB (MySQL)服务器低权限的用户可通过GRANT FILE命令的超长参数,造成my
---- sqld崩溃或任意代码执行。

3、数据库漏洞列表:http://www.oracle.com/technetwork/cn/topics/security/cpujan2013-1515902-zhs.html

漏洞号 组件 协议 子组件 无需身份验证即可远程利用? CVSS 版本 2.0 风险(参阅风险表定义) 受影响的支持版本 说明
基本评分 访问途径 访问复杂性 身份验证 机密性 完整性 可用性
漏洞号 组件 协议 子组件 无需身份验证即可远程利用? CVSS 版本 2.0 风险(参阅风险表定义) 受影响的支持版本 说明
基本评分 访问途径 访问复杂性 身份验证 机密性 完整性 可用性
CVE-2012-5612
MySQL Server MySQL Protocol Server Parser 9.0 网络 一次性 5.5.28 及早期版本 参见注释 1
CVE-2012-5611
MySQL Server MySQL Protocol Server Privileges 9.0 网络 一次性 5.1.66 及早期版本、5.5.28 及早期版本 参见注释 1


你可能感兴趣的:(数据库,缓冲区)