MySQL管理员须知的两大漏洞与修复方法

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

上月末,一位名叫Dawid Golunski的波兰黑客发现了MySQL中存在的两个关键漏洞:远程root代码执行漏洞和权限升级漏洞。MySQL,MariaDB和Percona Server的管理员需要检查其数据库版本了,因为攻击者可以通过链接这两个关键漏洞,完全接管数据库服务器。

根据Dawid Golunski的观点,这两个关键漏洞可以导致任意代码执行,root权限升级和服务器损坏影响MySQL和其衍生版本,如Percona Server,Percona XtraDB Cluster和MariaDB。管理员应尽快安装更新,以免无法进行修复,临时解决方案是在数据库服务器配置中禁用符号链接支持,在my.cnf中设置symbolic-links = 0。

竞争条件缺陷

第一个漏洞,特权升级/竞争条件缺陷(CVE-2016-6663),这为本地系统用户访问数据库提供了特权,并允许用户作为数据库系统用户执行任意代码。它能够让一个低权限账号(拥有CREATE/INSERT/SELECT权限)提升权限并且以系统用户身份执行任意代码。

本地系统用户只需具有本地选择,插入和创建特权即可利用此漏洞,这与由REPAIR TABLE SQL语句创建临时文件的不安全操作相关。在基于MySQL的数据库中,具有create特权的用户可以指定新表存储目录的磁盘路径。在表修复过程中,如果攻击者设法取消链接临时表,并在它被锁定之前将其替换为系统目录(/ var / lib / mysql)的符号链接,攻击者将能应用任意权限目录。例如,对临时表设置权限,由于符号链接可以使数据目录可读写。

此时,攻击者可以访问mysql shell并运行任意代码。以特权系统用户身份(mysql)运行mysql shell,攻击者可以创建具有特定权限的另一个目录,并在该路径中创建表。

受影响的数据库软件版本包括MySQL 5.5.51及更早版本,5.6.32及更早版本以及5.7.14及更早版本; Percona Server 5.5.51-38.2及更早版本,5.6.32-78-1及更早版本以及5.7.14-8及更早版本; Percona XtraDB群集5.6.32-25.17及更早版本,5.7.14-26.17及更早版本,以及5.5.41-37.0及更早版本; 和MariaDB 5.5.52和更早版本,10.1.18和更早版本以及10.0.28和更早版本。

Root特权升级漏洞

特权升级/竞争条件缺陷可以与另一个关键漏洞(root特权升级漏洞(CVE-2016-6664))链接,导致这个问题的原因其实是因为MySQL对错误日志以及其他文件的处理不够安全,这些文件可以被替换成任意的系统文件,从而被利用获取root权限。大多数默认安装的MySQL,Percona Server for MySQL和MariaDB的error.log文件存储在/ var/ log/ mysql或/ var/ lib/ mysql中。

“两个漏洞结合将有效允许低特权本地数据库用户升级系统特权到root帐户,这增加了问题的严重性,”Golunski写道。

在共享环境中,属于不同组织和应用程序的多个数据库托管在同一服务器上,该组合允许攻击者访问系统,作为较低层用户对机器可以实现完全控制。竞争条件缺陷可以与不同的特权升级漏洞(如9月份在MySQL中报告的漏洞)组合,以在服务器上获得root权限。攻击者可以利用常见的Web应用程序漏洞在服务器上找到立足点,并破坏服务器的工作方式。所有当前版本的MariaDB都将受到此缺陷的影响。

了解和应用更新

Oracle修复了MySQL中的漏洞,Percona修复了Server和XtaDB Cluster中的问题。 MySQL修复可能有点混乱,因为在Oracle的Critical Patch Tuesday中为这些漏洞分配了不同的CVE标识符。在上个月的Oracle CPU中,竞争条件缺陷被标识为CVE-2016-5616,而root权限升级漏洞被标识为CVE-2016-5617。Oracle CPU更新已具有最新的MySQL修补程序。

MariaDB修复了竞争条件漏洞,并将在以后的版本中关闭root权限升级漏洞。由于无法直接利用root权限升级漏洞,因此严重性低于竞争条件缺陷。虽然同样需要修复,但需要另一个漏洞才能使数据库可用,团队可能需要一些时间来处理补丁。

服务器(尤其是生产数据库)的更新应用不像在台式机和笔记本电脑上下载和安装更新一样简单。补丁必须彻底测试,管理员必须找出更新窗口,这将导致最少的中断。这就是为什么许多漏洞在补丁发布后很长时间又会被攻击,像这样的漏洞可能会在共享环境中涉及其他数据库和应用程序,需要一个积极的修补计划,以避免日后被再次攻击。

本文转自d1net(转载)

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法
|
3月前
|
关系型数据库 MySQL
解决MySQL无法插入中文的方法
解决MySQL无法插入中文的方法
23 0
|
3月前
|
设计模式 NoSQL Java
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
101 1
|
5月前
|
存储 Oracle 关系型数据库
mysql存储过程调试方法
mysql存储过程调试方法
346 0
|
1月前
|
SQL 关系型数据库 MySQL
MYSQL分页limit速度太慢优化方法
MYSQL分页limit速度太慢优化方法
32 0
|
19天前
|
SQL 关系型数据库 MySQL
一篇文章解析mysql的 行转列(7种方法) 和 列转行
一篇文章解析mysql的 行转列(7种方法) 和 列转行
482 0
|
16天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
19 0
|
1月前
|
canal 关系型数据库 MySQL
四种常用的 MySQL 数据同步 ES 的方法
【2月更文挑战第16天】
193 2
四种常用的 MySQL 数据同步 ES 的方法
|
1月前
|
SQL 存储 关系型数据库
MySQL 常用30种SQL查询语句优化方法
MySQL 常用30种SQL查询语句优化方法
75 0