CVE-2020-13777:發現隱藏2年的GnuTLS漏洞

GnuTLS中的漏洞稱為CVE-2020-13777,是使用TLS(傳輸層安全性)的一種廣泛採用的開放源代碼庫

據報導,該漏洞在庫中存在大約2年,使恢復的TLS 1.3會話容易受到攻擊。該漏洞已於2018年9月在GnuTLS 3.6.4中發現,並在2020年6月3日在較新版本的GnuTLS 3.6.14中得到了解決。

CVE-2020-13777漏洞解釋

據說,此錯誤實際上允許GnuTLS服務器使用在先前的安全TLS 1.3會話期間發出的會話票證,而無需利用創建秘密密鑰的功能:

gnutls_session_ticket_key_generate()

利用此漏洞,攻擊者可以繞過TLS 1.3下的身份驗證,從而恢復TLS 1.2下的以前的會話。

按照研究人員的名字,Airtower必須說:

“ GnuTLS服務器能夠使用彼此發行的票證,而無需訪問由gnutls_session_ticket_key_generate()生成的密鑰。這允許沒有有效憑據的MITM服務器恢復與客戶端的會話,該客戶端首先與具有有效憑據的服務器建立初始連接。當使用TLS 1.2恢復失敗時,該問題適用於TLS 1.3。”

安全研究人員首先在Ubuntu 3.6.13-2ubuntu1版本中註意到了此問題,並使用稱為52e78fle的主版本創建了新版本。

根據TheRegister的說法,一些研究人員還爭辯說應將GnuTLS作為依賴項消除,而許多研究人員則對庫和圖書館表示不屑。

根據MITER CVE詞典,對CVE-2020-13777的描述如下:

“ 3.6.14之前的GnuTLS 3.6.x使用不正確的加密技術來加密會話票證(TLS 1.2中的機密性丟失以及TLS 1.3中的身份驗證旁路)。最早受影響的版本是3.6.4(2018-09-24),因為2018-09-18提交中存在錯誤。在第一次旋轉密鑰之前,TLS服務器始終使用錯誤的數據來代替從應用程序派生的加密密鑰。”

但是,RedHat顧問並未明確指出可以緩解此漏洞。