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

緣起

最近(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編碼 作爲環境變量傳入即可。


參考引用:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章