按 Enter 到主內容區
:::

TWCERT-電子報

:::

鎖定Samba缺陷,能終止網路服務或猜測密碼

發布日期:
字型大小:
  • 發布單位:TWCERT/CC
  • 更新日期:2019-04-03
  • 點閱次數:661
鎖定Samba缺陷,能終止網路服務或猜測密碼

CVE編號

CVE-2018-14629,CVE-2018-16841,CVE-2018-16851,CVE-2018-16852,CVE-2018-16853,CVE-2018-16857

內文

●概述:
考量同網段上相異作業系統(Windows、Linux、UNIX、IBM System 390)資源共享便利性,便催生open-source的Samba,Samba建基於NetBIOS (Network Basic Input/Output System)通訊協定,可連接Windows的SMB(Server Message Block)與CIFS (Common Internet File System),讓PC間破除OS的隔閡,分享資料夾及印表機。近日公布漏洞訊息,資源紀錄CNAME loops運作時,可能觸發無限遞迴或偽造網址,導致用戶無法上網;金鑰部署伺服器(KDC)兩度呼叫talloc_free( )函數將造成double-free,且請求S4U2Self票證失敗後,均迫使KDC程序停擺;另LDAP搜尋工作階段,暫將紀錄存放於256MB記憶體區間,一旦資料過量則觸發null pointer而停止運作;尚有DLZ外掛啟動後,凡操作dnsZone object寫入作業,必干擾DNS management RPC server、DNS server、BIND9等基本應用;至於Samba預設錯誤登入記數時限為30分鐘形同虛設,僅累計3分鐘以內猜測密碼行為,並啟動帳號鎖定,攻擊者仍可伺機暴力破解,Samba Team已公布各版修補檔,並升級相關軟體。
●編註:
(1)CNAME無線迴圈
DNS為了解析網域名稱與IP,有4種常見資源紀錄類型,A、MX、CNAME、NS,其中A對應host name和IP,CNAME儲存「別名」,可讓A記錄對應其他多個名稱,便於輕鬆管理DNS資料,若變更A紀錄的IP,則所有指向A紀錄的CNAME將自動連到新IP位址。
Samba內建之CNAME loops運作時,恐觸發無限遞迴現象,使DNS server停擺,而透過ldbadd工具,即使無權限人員亦能循LDAP協定新增DNS紀錄,導致用戶上網時,無法獲得URL或者接收錯誤URL。
(2)KDC服務中斷
首先略述背景知識:
※Key Distribution Center(KDC)是金鑰部署伺服器,KDC與註冊使用者分享個別的私鑰,進行安全通訊。
※Kerberos係機網路授權協定,也是管理密鑰的系統,使客戶端和伺服器端均可相互認證,用於防止竊聽及重放攻擊;Kerberos基於票證協定,訪問任何採用Kerberos驗證的服務,都需要一份票證來證明身份,所以用戶須先發送AS-REQ請求,向KDC申請一張TGT票證。
(2-1)KDC資源遭雙重釋放
讓KDC程序發生double-free的條件比較特殊,駭客本身須有合法可信的憑證或智慧卡,當有效簽章的憑證持有人與申請AS-REQ主體無法匹配時,Samba的KDC會呼叫talloc_free( )函數兩次,一旦所佔據記憶體遭雙重釋放,則KDC程序當機。
(2-2)S4U2Self票證請求失敗
S4U2Self為Service for User to Self之簡寫,用於獲得Kerberos服務票證,以得知用戶所在群組,決定授權等級。Samba預設值並非套用MIT Kerberos(由麻省理工學院開發),且該版MIT Kerberos為實驗性作品,然若Samba使用MIT Kerberos,接收到S4U2Self票證請求時,MIT KDC將意外停止功能。
(3)LDAP搜尋停止
在Samba內定規則裡,匿名存取僅能觸及rootDSE(server metadata),這些詮釋資料、中介資料量不大,僅限登入者能閱讀鉅量資料,在LDAP搜尋期間,相關紀錄仍未回傳給用戶端,暫時存放在一個記憶體物件(256MB)中,一旦資料量累積超過256MB,則LDAP服務會參照到空指標,造成LDAP server停止運作。
(4)DLZ外掛異常
此漏洞牽涉2項參數,DSPROPERTY_ZONE_MASTER_SERVERS與DSPROPERTY_ZONE_SCAVENGING_SERVERS,屬性設定生效後,啟動DLZ plugin,此外掛功能搭配多種網路服務,當擁有dnsZone object異動權限的用戶操作時,干擾DLZ功能,發生空指標錯誤,造成DNS management RPC server、DNS server、BIND9等基本應用無法維持。
(5)錯誤密碼計數失效
為防禦暴力破解,Samba預設錯誤登入記數時限為30分鐘,此網域政策已定義在Password Settings Object(PSO)內,實際上卻無效,猜測密碼行為超過3分鐘以上,則參數badPwdCount不會累加,無法超過1次,也不啟動帳號鎖定,攻擊者只須控制時間差,仍能實施暴力破解。

影響產品

Samba 4.9.2以前版本/ Samba 4.8.6以前版本/ Samba 4.7.11以前版本

解決辦法

(1)修補:參考https://www.samba.org/samba/history/security.html,下載Samba 4.9.2、Samba 4.8.6、Samba 4.7.11專屬修補檔。
(2)升級:參考https://download.samba.org/pub/samba/stable/,下載最新Samba 4.9.3、Samba 4.8.7、Samba 4.7.12版壓縮檔。
回頁首