首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 遠程代碼執行漏洞 (CVE-2016-6662) 緊急通報與緩解方案

     編輯:MySQL 綜合教學

MySQL 遠程代碼執行漏洞 (CVE-2016-6662) 緊急通報與緩解方案

2016 年 9 月披露的 MySQL 配置文件注入漏洞 (CNNVD-201609-183, CVE-2016-6662) 影響範圍極廣,允許攻擊者通過修改 `my.cnf` 注入惡意動態庫,在服務重啟時以 Root 權限執行任意代碼。本文梳理漏洞原理、影響版本、緊急緩解措施及長期修復建議。

一、 漏洞基本信息

項目詳情
CVE 編號CVE-2016-6662
CNNVD 編號CNNVD-201609-183
漏洞類型配置文件注入 → 遠程代碼執行 (RCE)
CVSS 3.0 評分7.8 (High) / 部分向量需本地權限
發現者Dawid Golunski
公開日期2016-09-12

二、 影響版本範圍

  • MySQL ≤ 5.7.15
  • MySQL ≤ 5.6.33
  • MySQL ≤ 5.5.52
  • MariaDB ≤ 10.1.17, ≤ 10.0.27, ≤ 5.5.52
  • Percona Server ≤ 5.7.14, ≤ 5.6.32, ≤ 5.5.51

✅ **已修復版本**:MySQL 5.7.16+, 5.6.34+, 5.5.53+;MariaDB 10.1.18+, 10.0.28+, 5.5.53+;Percona 5.7.15+, 5.6.33+, 5.5.52+。

三、 漏洞利用原理深度解析

  1. 雙進程架構:MySQL 啟動時啟動兩個進程——Root 權限的監護進程 + mysql 用戶權限的工作進程。
  2. 配置文件加載:Root 進程啟動時讀取 `my.cnf`,支援 `malloc_lib=path/to/evil.so` 指定動態庫預加載。
  3. 權限提升鏈:
    • 攻擊者擁有合法 MySQL 賬號(或利用 SQL 注入)
    • 通過 `SET GLOBAL general_log_file=/etc/my.cnf` + `SET GLOBAL general_log=ON` 寫入惡意配置
    • 或利用 `TRIGGER`/`SELECT ... INTO DUMPFILE` 寫入配置文件
    • 誘導/等待管理員重啟 MySQL 服務(或利用其他漏洞觸發重啟)
    • Root 進程加載惡意 `.so`,執行任意代碼,完全控制服務器

四、 緊急緩解方案(無法立即升級時必做)

方案 1:禁用 FILE 權限(最直接、影響最小)

chattr +i /etc/my.cnf
chattr +i /usr/local/mysql/my.cnf
# 所有可能的 my.cnf 路徑均需保護

方案 3:禁用 general_log 動態修改

Oracle Security Alerts
  
  • 漏洞技術分析:Legal Hackers Advisory
  • MariaDB 修復公告:MariaDB 10.1.18 Release Notes

  • CVE-2016-6662 揭示了「配置文件權限過鬆 + 雙進程架構權限邊界模糊」的經典安全設計缺陷。**核心防禦只有一條:業務賬號絕不授予 FILE 權限**。將此作為數據庫安全基線納入自動化合規檢查,配合及時升級補丁,可有效阻斷此類權限提升攻擊鏈。

    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved