Skip to content

Commit 1351516

Browse files
committed
Moved JNDI injection related files from experimental to standard
1 parent e66b555 commit 1351516

File tree

12 files changed

+28
-24
lines changed

12 files changed

+28
-24
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import java
2+
import semmle.code.java.dataflow.FlowSources
3+
import semmle.code.java.security.Jndi
4+
import DataFlow
5+
6+
/**
7+
* A taint-tracking configuration for unvalidated user input that is used in JNDI lookup.
8+
*/
9+
class JndiInjectionFlowConfig extends TaintTracking::Configuration {
10+
JndiInjectionFlowConfig() { this = "JndiInjectionFlowConfig" }
11+
12+
override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
13+
14+
override predicate isSink(DataFlow::Node sink) { sink instanceof JndiInjectionSink }
15+
16+
override predicate isSanitizer(DataFlow::Node node) {
17+
node.getType() instanceof PrimitiveType or node.getType() instanceof BoxedType
18+
}
19+
20+
override predicate isAdditionalTaintStep(DataFlow::Node node1, DataFlow::Node node2) {
21+
nameStep(node1, node2) or
22+
jmxServiceUrlStep(node1, node2) or
23+
jmxConnectorStep(node1, node2) or
24+
rmiConnectorStep(node1, node2)
25+
}
26+
}

java/ql/src/experimental/Security/CWE/CWE-074/JndiInjectionLib.qll renamed to java/ql/src/semmle/code/java/security/Jndi.qll

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,6 @@ import experimental.semmle.code.java.frameworks.spring.SpringJndi
66
import semmle.code.java.frameworks.SpringLdap
77
import experimental.semmle.code.java.frameworks.Shiro
88

9-
/**
10-
* A taint-tracking configuration for unvalidated user input that is used in JNDI lookup.
11-
*/
12-
class JndiInjectionFlowConfig extends TaintTracking::Configuration {
13-
JndiInjectionFlowConfig() { this = "JndiInjectionFlowConfig" }
14-
15-
override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
16-
17-
override predicate isSink(DataFlow::Node sink) { sink instanceof JndiInjectionSink }
18-
19-
override predicate isSanitizer(DataFlow::Node node) {
20-
node.getType() instanceof PrimitiveType or node.getType() instanceof BoxedType
21-
}
22-
23-
override predicate isAdditionalTaintStep(DataFlow::Node node1, DataFlow::Node node2) {
24-
nameStep(node1, node2) or
25-
jmxServiceUrlStep(node1, node2) or
26-
jmxConnectorStep(node1, node2) or
27-
rmiConnectorStep(node1, node2)
28-
}
29-
}
30-
319
/** The class `java.util.Hashtable`. */
3210
class TypeHashtable extends Class {
3311
TypeHashtable() { this.getSourceDeclaration().hasQualifiedName("java.util", "Hashtable") }

java/ql/test/experimental/query-tests/security/CWE-074-JndiInjection/JndiInjection.qlref

Lines changed: 0 additions & 1 deletion
This file was deleted.

java/ql/test/experimental/query-tests/security/CWE-074-JndiInjection/options

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Security/CWE/CWE-074/JndiInjection.ql

0 commit comments

Comments
 (0)