Skip to content

Commit 879b8a1

Browse files
authored
Merge pull request github#8676 from pwntester/java_hotspots_mods
Make security-related TaintTracking Configuration public
2 parents 943af17 + 9ccd0e5 commit 879b8a1

File tree

5 files changed

+18
-6
lines changed

5 files changed

+18
-6
lines changed

java/ql/lib/semmle/code/java/security/CommandLineQuery.qll

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import semmle.code.java.dataflow.FlowSources
1111
import semmle.code.java.security.ExternalProcess
1212
import semmle.code.java.security.CommandArguments
1313

14-
private class RemoteUserInputToArgumentToExecFlowConfig extends TaintTracking::Configuration {
14+
/**
15+
* A taint-tracking configuration for unvalidated user input that is used to run an external process.
16+
*/
17+
class RemoteUserInputToArgumentToExecFlowConfig extends TaintTracking::Configuration {
1518
RemoteUserInputToArgumentToExecFlowConfig() {
1619
this = "ExecCommon::RemoteUserInputToArgumentToExecFlowConfig"
1720
}

java/ql/src/Security/CWE/CWE-089/SqlInjectionLib.qll renamed to java/ql/lib/semmle/code/java/security/SqlInjectionQuery.qll

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
1-
/** Definitions used by the queries for database query injection. */
1+
/**
2+
* Provides taint tracking and dataflow configurations to be used in Sql injection queries.
3+
*
4+
* Do not import this from a library file, in order to reduce the risk of
5+
* unintentionally bringing a TaintTracking::Configuration into scope in an unrelated
6+
* query.
7+
*/
28

39
import java
410
import semmle.code.java.dataflow.FlowSources
511
import semmle.code.java.security.QueryInjection
612

7-
private class QueryInjectionFlowConfig extends TaintTracking::Configuration {
13+
/**
14+
* A taint-tracking configuration for unvalidated user input that is used in SQL queries.
15+
*/
16+
class QueryInjectionFlowConfig extends TaintTracking::Configuration {
817
QueryInjectionFlowConfig() { this = "SqlInjectionLib::QueryInjectionFlowConfig" }
918

1019
override predicate isSource(DataFlow::Node src) { src instanceof RemoteFlowSource }

java/ql/src/Security/CWE/CWE-089/SqlTainted.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import java
1616
import semmle.code.java.dataflow.FlowSources
17-
import SqlInjectionLib
17+
import semmle.code.java.security.SqlInjectionQuery
1818
import DataFlow::PathGraph
1919

2020
from QueryInjectionSink query, DataFlow::PathNode source, DataFlow::PathNode sink

java/ql/src/Security/CWE/CWE-089/SqlTaintedLocal.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import semmle.code.java.Expr
1616
import semmle.code.java.dataflow.FlowSources
17-
import SqlInjectionLib
17+
import semmle.code.java.security.SqlInjectionQuery
1818
import DataFlow::PathGraph
1919

2020
class LocalUserInputToQueryInjectionFlowConfig extends TaintTracking::Configuration {

java/ql/src/Security/CWE/CWE-089/SqlUnescaped.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import java
1616
import semmle.code.java.security.SqlUnescapedLib
17-
import SqlInjectionLib
17+
import semmle.code.java.security.SqlInjectionQuery
1818

1919
class UncontrolledStringBuilderSource extends DataFlow::ExprNode {
2020
UncontrolledStringBuilderSource() {

0 commit comments

Comments
 (0)