所有 3.23.31 之前版本 存在緩衝區溢位漏洞,攻擊者需合法帳密即可觸發 mysqld 崩潰並取得進程權限,進而控制所有資料庫。
/sbin/init.d/mysql startmysql -p -e 'select a.'`perl -e 'printf("A"x130)'`.b'Ctrl+C 退出。Segmentation fault ... mysqld restartedeip = 0x41414141 (即 AAAA),證明返回地址被覆寫,典型棧溢位。SELECT 解析階段對識別符長度缺乏邊界檢查,超長識別符 (130 字節 A) 覆蓋棧框架返回地址。
升級至 3.23.31 或更新版本。官方已修補邊界檢查邏輯。
mysqld 異常重啟日誌,配合入侵檢測系統告警。