Avoid unsafe deserialization

Metadata

ID: java-security/json-unsafe-deserialization

Language: Java

Severity: Error

Category: Security

CWE: 502

Description

Deserialization of untrusted data can lead to undesired code execution. Use activateDefaultTyping to prevent deserialization into random classes.

Learn More

Non-Compliant Code Examples

class Main {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        oneFunction();
        oneFunction();
        mapper.readValue(json, ABean.class);
        foo.var();
        anotherFunction();
    }
}

Compliant Code Examples

class Main {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        oneFunction();
        mapper.enableDefaultTyping();
        anotherFunction();
        mapper.readValue(json, ABean.class);
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: may/unit-testing