Potential code injection when using GroovyShell

Metadata

ID: java-security/groovyshell-code-injection

Language: Java

Severity: Warning

Category: Security

CWE: 94

Description

An expression for GroovyScript is built with a dynamic value. The source should be checked and filtered to prevent any user-input from the script.

Learn More

Non-Compliant Code Examples

class MyClass {

    public void evaluateScript(String script) {
        GroovyShell shell = new GroovyShell();
        shell.evaluate(script);

        foo = shell.evaluate(script);

        shell.evaluate("foo" + script);
        shell.evaluate(script + "foo");
    }
}

Compliant Code Examples

class MyClass {

    public void evaluateScript(String script) {
        GroovyShell shell = new GroovyShell();
        shell.evaluate(checkScript(script));
    }
}
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