PostgreSQL全球開(kāi)發(fā)小組發(fā)布三大安全更新

責(zé)任編輯:editor006

作者:田曉旭 

2017-11-14 16:17:27

摘自:it168網(wǎng)站

近日,PostgreSQL全球開(kāi)發(fā)小組發(fā)布了對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的所有支持版本的更新,包括10 1,9 6 6,9 5 10,9 4 15,9 3 20和9 2 24。修復(fù)在會(huì)話中執(zhí)行任何查詢之前由于超過(guò)20億個(gè)事務(wù)處理而導(dǎo)致的NOTIFY消息的低概率丟失。

近日,PostgreSQL全球開(kāi)發(fā)小組發(fā)布了對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的所有支持版本的更新,包括10.1,9.6.6,9.5.10,9.4.15,9.3.20和9.2.24。此版本修復(fù)了三個(gè)安全問(wèn)題以及在過(guò)去三個(gè)月中關(guān)于BRIN索引,邏輯復(fù)制和其他錯(cuò)誤中發(fā)現(xiàn)的問(wèn)題。

PostgreSQL全球開(kāi)發(fā)小組發(fā)布安全更新

所有使用受影響版本的PostgreSQL的用戶都需要盡快更新。如果您使用BRIN索引或contrib / start-scripts,請(qǐng)參閱發(fā)行說(shuō)明以了解升級(jí)后其他步驟。

安全問(wèn)題

這個(gè)版本已經(jīng)修復(fù)了三個(gè)安全漏洞:

CVE-2017-12172:?jiǎn)?dòng)腳本允許數(shù)據(jù)庫(kù)管理員修改根擁有的文件

CVE-2017-15098:JSON函數(shù)中的內(nèi)存泄露

CVE-2017-15099:INSERT ... ON CONFLICT DO UPDATE無(wú)法強(qiáng)制執(zhí)行SELECT權(quán)限

CVE-2017-12172:?jiǎn)?dòng)腳本允許數(shù)據(jù)庫(kù)管理員修改根擁有的文件

在此版本之前,postmaster(在較新的版本中,"postgres")進(jìn)程的啟動(dòng)日志文件已被打開(kāi),而進(jìn)程仍由root擁有。通過(guò)這種設(shè)置,數(shù)據(jù)庫(kù)所有者可以指定一個(gè)他們沒(méi)有訪問(wèn)的文件,并導(dǎo)致該文件被記錄的數(shù)據(jù)損壞。

此修復(fù)程序可確保以用戶指定的方式打開(kāi)啟動(dòng)日志文件,運(yùn)行PostgreSQL服務(wù)器。任何使用啟動(dòng)腳本的用戶都需要確保啟動(dòng)日志文件是由指定用戶運(yùn)行PostgreSQL服務(wù)器的用戶擁有的。

CVE-2017-15099:INSERT ... ON CONFLICT DO UPDATE無(wú)法強(qiáng)制執(zhí)行SELECT權(quán)限

在此版本之前,"INSERT ... ON CONFLICT DO UPDATE"不會(huì)檢查執(zhí)行用戶是否有權(quán)在執(zhí)行沖突檢查的索引上執(zhí)行"SELECT"。此外,在啟用了行級(jí)別安全性的表中,執(zhí)行更新之前,"INSERT ... ON CONFLICT DO UPDATE"不會(huì)檢查該表的SELECT策略。

此修復(fù)程序確保"INSERT ... ON CONFLICT DO UPDATE"在執(zhí)行前根據(jù)表權(quán)限和RLS策略進(jìn)行檢查。

錯(cuò)誤修復(fù)和改進(jìn)

此更新還修復(fù)了過(guò)去幾個(gè)月中報(bào)告的一些錯(cuò)誤。其中有一些問(wèn)題僅影響版本10,但也有一些會(huì)影響所有受支持的版本:

修正BRIN索引中的競(jìng)爭(zhēng)條件,可能會(huì)導(dǎo)致某些行不包含在索引中。

修復(fù)從PL語(yǔ)言函數(shù)調(diào)用邏輯解碼時(shí)的崩潰。

修復(fù)數(shù)個(gè)邏輯復(fù)制。

對(duì)于在版本10之前的CTE 附加INSERT / UPDATE / DELET。

防止處理嵌套觸發(fā)器時(shí)的低概率崩潰。

當(dāng)FILTER子句中的條件評(píng)估為FALSE時(shí),不要評(píng)估聚合函數(shù)的參數(shù)表達(dá)式,符合SQL標(biāo)準(zhǔn)。

當(dāng)多個(gè)GROUPING SETS列包含相同的簡(jiǎn)單變量時(shí),修復(fù)不正確的查詢結(jié)果。

從SELECT的目標(biāo)列表中評(píng)估設(shè)置返回函數(shù)時(shí),修復(fù)查詢生命周期內(nèi)存泄漏。

并行查詢執(zhí)行的一些修復(fù),包括在包含特定類(lèi)型的位圖掃描的某些查詢并行執(zhí)行中修復(fù)崩潰。

修復(fù)json_build_array(),json_build_object(),jsonb_build_array()和jsonb_build_object()來(lái)正確處理顯式的VARIADIC參數(shù)。

防止將無(wú)限的浮點(diǎn)值轉(zhuǎn)換為數(shù)字類(lèi)型。

修復(fù)autovacuum的“工作項(xiàng)目”邏輯,防止可能的崩潰和工作項(xiàng)目的無(wú)聲丟失。

對(duì)于在視圖的末尾添加列VIEW的修正。

修復(fù)由用戶創(chuàng)建范圍的數(shù)據(jù)類(lèi)型的可測(cè)性檢測(cè)。

為了查詢計(jì)劃的目的而對(duì)列使用擴(kuò)展統(tǒng)計(jì)的改進(jìn)。

當(dāng)更早發(fā)生statement_timeout時(shí),防止忽略idle_in_transaction_session_timeout。

修復(fù)在會(huì)話中執(zhí)行任何查詢之前由于超過(guò)20億個(gè)事務(wù)處理而導(dǎo)致的NOTIFY消息的低概率丟失。

多個(gè)文件系統(tǒng)交互修復(fù)。

在COPY或lo_export()文件創(chuàng)建失敗時(shí),正確地恢復(fù)umask設(shè)置。

修復(fù)pg_dump以確保它以有效的順序發(fā)出GRANT命令。

修復(fù)pg_basebackup的表空間路徑匹配,在比較之前對(duì)兩個(gè)路徑進(jìn)行規(guī)范化,以幫助提高Windows兼容性。

修正libpq在試圖讀取“?/ .pgpass”文件時(shí)不要求用戶的主目錄存在。

對(duì)ecpg的多個(gè)修復(fù)。

關(guān)于9.2版的EOL聲明

PostgreSQL 9.2版本生命周期結(jié)束(EOL)。此版本的社區(qū)不會(huì)發(fā)布其他更新或安全修補(bǔ)程序,所以使用9.2版本的用戶一定要盡快升級(jí)。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)