哪个版本的jackson-databind没有远程执行漏洞?

时间:2019-11-07 17:53:04

标签: jackson

我无法在线找到不具有远程执行漏洞的Spring应用程序使用哪个版本的jackson-databind?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

自版本2.10.0起,通过添加新的方法集activateDefaultTyping而不是不建议使用的方法集enableDefaultTyping来解决此问题。同样,此问题也是发布此版本的原因之一。

  

2.10的主要目标

     

回想一下,此次发行版有3个主要目标:

     
      
  1. 解决“无尽CVE补丁”这一日益严重的问题,   与“多态”相关的已报告CVE的修复程序流   反序列化”问题(在“ On Jackson CVEs…”中进行了说明)   导致迫使杰克逊升级的安全工具。 2.10现在包括   希望可以解决此问题的“安全默认键入”。
  2.   

您可以在本文中找到更多信息:Jackson 2.10 features

示例代码:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.json.JsonMapper;
import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator;
import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator;

import java.util.ArrayList;

public class JsonPathApp {

    public static void main(String[] args) throws Exception {
        PolymorphicTypeValidator ptv = BasicPolymorphicTypeValidator.builder()
                .allowIfSubType(MyValue.class)
                .allowIfSubType(ArrayList.class)
                .build();

        ObjectMapper mapper = JsonMapper.builder()
                .enable(SerializationFeature.INDENT_OUTPUT)
                .activateDefaultTyping(ptv, ObjectMapper.DefaultTyping.NON_FINAL).build();
    }
}