我无法在线找到不具有远程执行漏洞的Spring应用程序使用哪个版本的jackson-databind?任何帮助表示赞赏。
答案 0 :(得分:1)
自版本2.10.0起,通过添加新的方法集activateDefaultTyping
而不是不建议使用的方法集enableDefaultTyping
来解决此问题。同样,此问题也是发布此版本的原因之一。
2.10的主要目标
回想一下,此次发行版有3个主要目标:
- 解决“无尽CVE补丁”这一日益严重的问题, 与“多态”相关的已报告CVE的修复程序流 反序列化”问题(在“ On Jackson CVEs…”中进行了说明) 导致迫使杰克逊升级的安全工具。 2.10现在包括 希望可以解决此问题的“安全默认键入”。
您可以在本文中找到更多信息: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();
}
}