node-exporter被检测/debug/vars泄漏信息漏洞
- 漏洞说明
- 修复方法
漏洞说明
和之前的pprof类似,都是国产的安全工具扫出来的莫名其妙的东西,这次也是报的node-exporter存在这个漏洞,又归我处理。当访问node-exporter的/debug/vars
路由时能获取程序的部分运行时信息,如下:
这是因为在代码中导入了expvar
包,只要导入了这个包就会自动的产生 一个/debug/vars路由。
修复方法
对于node-exporter,本身的代码中是没有引入expvar
包的,但是node-exporter引用了github.com/prometheus/client_golang/prometheus
包,在prometheus包的expvar_collector.go
中有引用expvar
包,因此我们要去修改这里。
为了能够顺利进行修改,我们这个时候首先使用以下命令把依赖库的代码下载到我们的项目目录中:
go mod vendor
然后我们可以直接把expvar_collector.go
删了,重新编译node-exporter即可。
问题已经解决,在此记一下,也分享给需要的同学。