一、什麼是rpcbind服務?
rpcbind是運行在Unix和Linux上的服務程序,它類似於給進程提供了一種註冊機制,進程可以通過rpcbind獲取RPC埠,以便來綁定RPC服務。它是NFS和NIS的基礎,並被其他許多UNIX網路服務使用。
rpcbind作為一個重要的網路程序,如果存在漏洞,將會危及整個系統的安全性和穩定性。
二、漏洞的概述
最新的Linux漏洞,即CVE-2021-3046,是在rpcbind服務中發現的;攻擊者可以利用該漏洞遠程提升許可權和執行任意代碼,從而獲得系統的完全控制許可權。
該漏洞存在於rpcbind源代碼中,源代碼中使用了一個易受攻擊的getarg函數,該函數用於解析命令行參數。如果用戶在命令行中提供了長且具有特殊字元的字元串,該字元串將會觸發getarg函數中的緩衝區溢出漏洞,導致任意代碼執行。
三、漏洞的危害性
該漏洞的危害性非常嚴重。攻擊者可以利用該漏洞進行許可權提升,獲取root許可權,然後可以對系統進行任意操作,例如查看、修改、刪改系統的敏感數據,甚至可以在系統中打開無限制的後門,危及系統的安全性和穩定性。
四、解決方案
如何解決這個漏洞呢?首先,Linux廠商需要發布相應的安全更新補丁。同時,在使用Linux系統的用戶也需要儘快更新完成補丁。
在補丁更新之前,Linux的用戶也可以通過一些臨時的解決方案降低被攻擊的風險。
臨時解決方法包括:
1. 禁用rpcbind。
systemctl stop rpcbind
systemctl disable rpcbind
2. 限制rpc服務只能在本地使用。
iptables -A INPUT -p tcp --destination-port rpcbind -j DROP
iptables -I INPUT -p tcp -s 127.0.0.1 --destination-port rpcbind -j ACCEPT
臨時解決方案只能在最短時間內才能對漏洞產生影響,強烈建議Linux用戶儘快更新相應的安全補丁,從根本上杜絕漏洞的危害。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/296072.html