您的位置:首页 > 数据库 > MariaDB

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

2013-05-14 15:28 357 查看
简述及利用代码: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-5612MySQL ServerMySQL ProtocolServer Parser9.0网络一次性5.5.28 及早期版本参见注释 1
CVE-2012-5611MySQL ServerMySQL ProtocolServer Privileges9.0网络一次性5.1.66 及早期版本、5.5.28 及早期版本参见注释 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 缓冲区