全世界的人都知道這玩意兒的用處,人們就這么任由它一直開著,無語。所以,要么補上,要么關閉吧。
向rpcbind服務的UDP套接字發送60字節載荷,便可填充目標內存,搞崩主機系統。
圭多·烏蘭肯,該漏洞發現者兼“Rpcbomb”漏洞利用程序開發者,抱怨稱該軟件包維護者毫無反應,他不得不自己寫了補丁。
他寫道,Shodan搜索發現,互聯網上開放 rpcbind 111 端口的主機有180萬臺。其中大多數都運行在AWS之類大規模托管上,用戶總是直接沿用Linux發行版的默認配置(111端口開放)。
如果你真的需要使用rpcbind服務(將遠程過程調用RPC與地址綁定),就把它置于防火墻后,限制111端口對外開放吧。最好就是直接關了。
GitHub上的補丁足夠小,開發者們應該可以驗證這些補丁的短小精悍:rpcbind只需要兩行代碼就能修復,不像libtirpc要256行。
烏蘭肯稱,該漏洞可使攻擊者在遠程rpcbind綁定主機上分配任意大小的內存(每次攻擊最高可達4GB),除非進程崩潰,或者管理員掛起/重啟rpcbind服務,否則該內存不會被釋放。
當然,除了不斷占用目標系統的內存,攻擊者還可以干別的事,因為有些軟件在內存分配失敗的時候,是會發生不可預知的錯誤的。