MySQL官方最近做了一个大的安全漏洞补丁,修复了25 个安全漏洞,关于这些漏洞细节官方和媒体目前为止还有比较少的介绍和分析文章。在此笔者搜集下相关的详细,从邮件讨论组趴到一些细节信息,在此介绍一下几个比较重要的、高危的漏洞。包括CVE-2018-2696,CVE-2018-2591和CVE-2018-2562。
CVE-2018-2696 mysql: sha256_password 认证长密码拒绝式攻击
该漏洞源于MySQL sha256_password认证插件,该插件没有对认证密码的长度进行限制,而直接传给my_crypt_genhash()用SHA256对密码加密求哈希值。该计算过程需要大量的CPU计算,如果传递一个很长的密码时候,会导致CPU耗尽。而且该公式Mysql的实现中使用alloca()进行内存分配,无法对内存栈溢出保护,可能导致内存泄露、进程崩溃,从而可能实现代码执行。
MySQL <= 5.6.38 和MySQL <= 5.7.20 受影响。mariadb分支版本不受该漏洞影响。
CVE-2018-2562 MySQL**分区未指定的漏洞**
漏洞源于 Oracle MySQL 服务器分区组件。影响5.5.58及之前版本,5.6.38及之前的版本,5.7.19及之前的版本。该漏洞允许低权限通过多种协议对服务器进行拒绝式攻击,也可以无需授权更新、插入、删除数据库中的可以访问的数据。
mariadb分支版本也受该漏洞影响。
CVE-2018-2591 MySQL**分区未指定的漏洞**
漏洞源于 Oracle MySQL 服务器分区组件。影响5.6.38及之前的版本,5.7.19及之前的版本。该漏洞允许低权限通过多种协议对服务器进行拒绝式攻击。
mariadb分支版本不受该漏洞影响。
更多信息参考 :www.oracle.com/technetwork…
漏洞利用条件和方式:
目前还未有具体的POC,但是通过漏洞介绍,三者都可以通过远程攻击。
漏洞防范和修复:
1、目前Oracle官方已经最新版本,建议自建MySQL服务用户及时手工下载更新:
MySQL 5.6.39 版本:dev.mysql.com/downloads/m…
- MySQL 5.7.21 版本:dev.mysql.com/downloads/m…
2、防火墙或者云安全组限制mysql端口(默认为3306)限制mysql访问。
3、建议选择Mysql开源分支mariadb,该分支完全兼容mysql并提供更多功能和性能。
参考信息: