PostgreSQL 闢謠存在任意代碼執行漏洞:消息不實
近期在互聯網媒體上流傳PostgreSQL存在任意代碼執行的漏洞:擁有’pg_read_server_files’權限的攻擊者可利用此漏洞具備超級用戶權限,執行任意系統命令。針對此言論,PostgreSQL官方在2019年4月4日發表聲明如下:
互聯網媒體上報到的有關PostgreSQL方面的安全漏洞CVE-2019-9193,PostgreSQL安全團隊強調這不是一個安全漏洞, 我們認為創建這個CVE-2019-9193就是個錯誤,而且已經和CVE-2019-9193的報告者聯繫,調查為什麼會創建這個條目。
COPY .. PROGRAM功能明確規定,只能被授予超級用戶權限、或是默認pg_execute_server_program角色的數據庫用戶來執行。根據設計,此功能允許被授予超級用戶或pg_execute_server_program的用戶作為PostgreSQL 服務器運行的操作系統用戶(通常是“postgres”)執行操作。CVE中提到的默認角色pg_read_server_files和pg_write_server_files不會授予數據庫用戶使用COPY .. PROGRAM的權限。
根據設計,數據庫超級用戶與運行數據庫服務所在的操作系統的用戶之間不存在不同的安全邊界,另外PostgreSQL服務器不允許作為操作系統超級用戶(例如“root”)運行。PostgreSQL 9.3中添加的COPY .. PROGRAM的功能並未改變上述設計原則,只是在現有的安全邊界內添加了一個功能。
我們鼓勵PostgreSQL的所有用戶遵循最佳實踐方案,即永遠不要向遠程用戶或其他不受信任的用戶授予超級用戶的訪問權限。這是系統管理中應遵循的安全操作標準,對於數據庫管理也需要遵循。
如果您對此有更多疑問,我們誠邀您通過社區官網與工作人員取得聯繫。