Sonatype Nexus IQ服务器组件扫描表明,Jackson-Databind版本2.9.9库存在漏洞问题,编码为sonatype-2017-0312。
jackson-databind容易受到远程代码执行(RCE)的攻击。 BeanDeserializerFactory类中的createBeanDeserializer()函数允许对不受信任的Java对象进行反序列化。远程攻击者可以通过上传恶意的序列化对象来利用此漏洞,如果应用程序尝试对其进行反序列化,则该对象将导致RCE。
我尝试使用redhat版本的Jackson-databind以及sonatype推荐的其他类型,但最后我们现在面对的是使用jackson-databind-2.9.8.redhat-00004.jar并以两个漏洞CVE结尾-2019-12086和sonatype-2017-0312。
答案 0 :(得分:0)
解决方案是将gson设置为preferred-json-mapper作为替代的json实现提供程序。
对于Maven依赖管理:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
还有其他一些: 杰克逊图书馆(Jackson Library),Google-Gson库,JSON-lib,Flexjson,json-io,genson,JSONiJ库。
答案 1 :(得分:0)
不要因为存在漏洞而放弃杰克逊; 这太荒谬了。
只需升级项目所依赖的Jackson数据绑定的版本 到解决漏洞的版本。 例如,
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9.1</version>
</dependency>