漏洞描述:
FastJSON是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。
FastJSON 存在反序列化远程代码执行漏洞,漏洞成因是Fastjson autoType开关的限制可被绕过,然后反序列化有安全风险的类。攻击者利用该漏洞可实现在目标机器上的远程代码执行。FastJSON 1.2.68及以上版本,可通过开启safeMode配置完全禁用autoType。
修复建议:
由于autotype开关的限制可被绕过,通过开启safeMode配置完全禁用autoType。三种配置SafeMode的方式如下:
1)加上JVM启动参数: -Dfastjson.parser.safeMode=true
2)通过类路径的fastjson.properties文件来配置: fastjson.parser.safeMode=true
3)在代码中配置: ParserConfig.getGlobalInstance().setSafeMode(true);
POC检测原理:检查当前系统中fastjson版本是否在1.2.68至1.2.83版本内且启动参数或fastjson.properties文件中是否包含safeMode配置|POC检测结果:未通过启动参数或fastjson.properties文件开启safeMode配置:
- fastjson
当前安装版本:1.2.83
进程PID:1465671
应用路径:/opt/module/doris-manager/deps/webui/lib/doris-webui.jar@fastjson-1.2.83.jar
这个问题是否可以通过升级到26.0.0解决,如无法解决怎么修改配置