Avoid unsafe deserialization

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

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