Nacos Namespace 未授权访问漏洞: 55391

我正在参加「金石计划」

1.nacos身份绕过漏洞

Nacos Namespace 未授权访问漏洞(漏洞编号:55391)

该漏洞,在开启nacos.core.auth.enabled=true后,未登录情况下,命名空间列表依然能加载出来。

官方目前还未解决(2023-11-15),但我们通过修改nacos源码,来处理该nacos漏洞。

2.漏洞分析

Nacos是一个易于使用的平台,专为动态服务发现和配置以及服务管理而设计。可以帮助您轻松构建云原生应用程序和微服务平台。

目前,Nacos 是一个为动态服务发现和配置以及服务管理而设计的平台。Nacos Namespace部分的代码实现路由没有加入鉴权,所以即使是开启auth的情况下,照样能访问Namespace,攻击者仍然可以对Namespace进行增删改查操作。

目前厂商暂未发布修复措施解决此安全问题,建议使用此软件的用户随时关注厂商主页或参考网址以获取解决办法:github.com/alibaba/nac...

3.源码修改

这里基于nacos-2.2.3版本的源码进行修改。

对于nacos源码的构建,有兴趣的小伙伴可以参考我之前的文章:nacos适配达梦、人大金仓数据库,这里就不再过多的描述了。

通过调试可以发现NameSpace列表访问的接口,是这个:com.alibaba.nacos.console.controller.NamespaceController

通过调试可以发现,是通过com.alibaba.nacos.core.auth.AuthFilter进行权限校验的

判断的依据是,方法上面,是否有加 @Secured 注解

所以我们加上 @Secured 注解即可:(可以参考其他方法)

java 复制代码
@Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.WRITE)

修改完,可以本地调试,查看漏洞修复情况;如果没什么问题,就可以对nacos源码进行编译打包。

mvn 复制代码
mvn -Prelease-nacos -Dmaven.test.skip=true -Dcheckstyle.skip=true clean install -U

如有不懂的,可以参考我之前的文章。

其实,该漏洞修复,也不是很难,大家赶紧去尝试一下吧。


好了,以上就是我个人的实操了。可能有些不对,大家伙,轻点喷!!!

个人理解,可能也不够全面,班门弄斧了。

好了,今天就先到这里了!!!^_^

如果觉得有收获的,帮忙点赞、评论、收藏一下,再走呗!!!

相关推荐
雨辰AI4 分钟前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
TeamDev22 分钟前
JxBrowser 9.3.0 版本发布啦!
java·后端·c#·混合应用·jxbrowser·浏览器控件·异步媒体设备
陈随易1 小时前
Rust、Golang、MoonBit 编译成 WASM,体积和速度差距有多大?
前端·后端·程序员
IT_陈寒1 小时前
Python多线程的坑,我居然现在才踩到
前端·人工智能·后端
格子软件2 小时前
2026年GEO优化系统源码解构:核心状态机与高并发流控深度剖析
java·vue.js·spring boot·vue·geo
魏祖潇2 小时前
DDD 完整指南——AI 时代工程师的第一道秩序分水岭
人工智能·后端
im_lanny2 小时前
如何给 Agent 打造“最强大脑“?深度解析短期记忆与长期记忆的分层设计
后端
Fanta丶2 小时前
2.Activiti表结构介绍 类关系
后端
触底反弹2 小时前
AI Tool Use 深度解析:大模型是如何"突破物理限制"调用外部工具的?
javascript·人工智能·后端
ClouGence2 小时前
SQL Server CDC 如何降低主库压力?Always On 备库读取实践
数据库·后端·sql·sqlserver