版本比对检测原理:检查当前系统中FastJSON版本是否小于等于1.2.80以及是否为非noneautotype版本|版本比对检测结果:- fastjson
当前安装版本:1.2.73
应用相关信息:
- 进程PID:10
- 应用路径:/XX/seata/seata-server-1.4.2/lib/fastjson-1.2.73.jar
- fastjson
当前安装版本:1.2.58.sec06
应用相关信息:
- 进程PID:30
- 应用路径:/XX/soft/canal/canal-adapter/lib/fastjson-1.2.58.sec06.jar
- fastjson
当前安装版本:1.2.58.sec06
应用相关信息:
- 进程PID:21
- 应用路径:/XX/soft/canal/canal-deployer/lib/fastjson-1.2.58.sec06.jar
该主机存在此漏洞
背景:
线上环境扫描系统漏洞,发现高危漏洞。根据漏洞信息,得出是canal组件里引用了低版本的fastjson,故此决定找一下高版本的canal 是否已经升级了fastjson;到官网查找,发现canal-1.1.6版本已经升级fastjson到1.2.82版本,由此决定升级canal到1.1.6版本,来解决此漏洞。
升级步骤:
下载1.1.6版本canal,解压,然后将旧的低版本的这些配置文件复制过来并替换(canal-adapter/conf/application.yml、 canal-adapter/conf/es7/同步表配置文件、canal-developer/conf/example/instance.properties)
遇到的坑:
替换完成之后发现canal并不能同步es,查看canal-adapter日志发现升级后并没有打印下图中的这句话
于是又看了canal配置es的信息,发现旧版本的application.yml配置文件里没有这一块前缀,而新版本的配置文件里却有。。**OMG,这就是我直接把原来旧版本的配置文件直接复制过来的坑。。**最后把这个前缀加上,重启canal就能正常同步es了。。。