【問題解決】Nacos服務端NVDB-CNVDB-2023674205漏洞

東北小狐狸發表於2023-03-13

緣起

最近(2023.03.13)客戶現場要求自檢有無使用Nacos,原因是Nacos存在認證繞過高危漏洞,其漏洞程式碼NVDB-CNVDB-2023674205,本文就簡單說一下這個事兒,以及如何解決這個問題。

以下內容中,Nacos服務端A簡稱A,Nacos服務端B簡稱B。

問題現象

可以使用已知賬號密碼的A的登入響應體,替換未知密碼的B登入響應體來繞過認證,進入B後臺。

影響範圍:<=2.2.0

問題原因

Nacos使用JWT生成金鑰,同樣的JWT生成key會導致A的token可以給B使用。

解決辦法

方法一、修改生成token的key

Nacos提供了修改預設JWT token生成key的配置項:

#啟用認證
nacos.core.auth.enabled=true
#生成token的金鑰
nacos.core.auth.plugin.nacos.token.secret.key=BASE64編碼

推薦自定義金鑰時,推薦將配置項設定為Base64編碼的字串,且原始金鑰長度不得低於32字元

方法二、升級到2.2.0.1及以後版本

目前Nacos官方在2023.03.02釋出了2.2.0.1,下載地址:https://github.com/alibaba/nacos/releases/tag/2.2.0.1

以後更近版本參見:https://github.com/alibaba/nacos/releases

方法三、容器環境處理方式

對於容器環境則將 NACOS_AUTH_ENABLE=trueNACOS_AUTH_TOKEN=BASE64編碼 作為環境變數傳入即可。


參考引用:

相關文章