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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

上月末,一位名叫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(转载)

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
997 1
|
3月前
|
存储 关系型数据库 MySQL
MySQL数据库中进行日期比较的多种方法介绍。
以上方法提供了灵活多样地处理和对比MySQL数据库中存储地不同格式地日子信息方式。根据实际需求选择适当方式能够有效执行所需操作并保证性能优化。
416 10
|
8月前
|
SQL 存储 关系型数据库
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
|
4月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
238 11
|
6月前
|
SQL 数据采集 关系型数据库
实现MySQL与SQL Server之间数据迁移的有效方法
总的来说,从MySQL到SQL Server的数据迁移是一个涉及到很多步骤的过程,可能会遇到各种问题和挑战。但只要精心规划、仔细执行,这个任务是完全可以完成的。
502 18
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL】SQL分析的几种方法
以上就是SQL分析的几种方法。需要注意的是,这些方法并不是孤立的,而是相互关联的。在实际的SQL分析中,我们通常需要结合使用这些方法,才能找出最佳的优化策略。同时,SQL分析也需要对数据库管理系统,数据,业务需求有深入的理解,这需要时间和经验的积累。
264 12
|
5月前
|
关系型数据库 MySQL
MySQL字符串拼接方法全解析
本文介绍了四种常用的字符串处理函数及其用法。方法一:CONCAT,用于基础拼接,参数含NULL时返回NULL;方法二:CONCAT_WS,带分隔符拼接,自动忽略NULL值;方法三:GROUP_CONCAT,适用于分组拼接,支持去重、排序和自定义分隔符;方法四:算术运算符拼接,仅适用于数值类型,字符串会尝试转为数值处理。通过示例展示了各函数的特点与应用场景。
|
7月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
7月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
800 12
|
8月前
|
存储 关系型数据库 MySQL
MySQL细节优化:关闭大小写敏感功能的方法。
通过这种方法,你就可以成功关闭 MySQL 的大小写敏感功能,让你的数据库操作更加便捷。
656 19

推荐镜像

更多