Skip to content

Commit 888db84

Browse files
committed
Java: move query restrictions to libraries
To be folded into the previous commit before merge.
1 parent ba6ac7e commit 888db84

File tree

89 files changed

+68
-261
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+68
-261
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ module IntentRedirectionConfig implements DataFlow::ConfigSig {
4242
}
4343

4444
/** Tracks the flow of tainted Intents being used to start Android components. */
45-
module IntentRedirectionFlow = TaintTracking::Global<IntentRedirectionConfig>;
45+
module IntentRedirectionFlow =
46+
TaintTracking::Global<DataFlow::FilteredConfig<IntentRedirectionConfig>>;
4647

4748
/**
4849
* A sanitizer for sinks that receive the original incoming Intent,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ module InsecureCryptoConfig implements DataFlow::ConfigSig {
3636
/**
3737
* Taint-tracking flow for use of broken or risky cryptographic algorithms.
3838
*/
39-
module InsecureCryptoFlow = TaintTracking::Global<InsecureCryptoConfig>;
39+
module InsecureCryptoFlow = TaintTracking::Global<DataFlow::FilteredConfig<InsecureCryptoConfig>>;

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ abstract class Storable extends Call {
3636
abstract Expr getAStore();
3737
}
3838

39-
/** Flow configuration for sensitive data flowing into cleartext storage. */
40-
module SensitiveSourceFlowConfig implements DataFlow::ConfigSig {
39+
private module SensitiveSourceFlowConfig implements DataFlow::ConfigSig {
4140
predicate isSource(DataFlow::Node src) { src.asExpr() instanceof SensitiveExpr }
4241

4342
predicate isSink(DataFlow::Node sink) { sink instanceof CleartextStorageSink }

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ deprecated module RemoteUserInputToArgumentToExecFlowConfig = InputToArgumentToE
6868
/**
6969
* Taint-tracking flow for unvalidated input that is used to run an external process.
7070
*/
71-
module InputToArgumentToExecFlow = TaintTracking::Global<InputToArgumentToExecFlowConfig>;
71+
module InputToArgumentToExecFlow =
72+
TaintTracking::Global<DataFlow::FilteredConfig<InputToArgumentToExecFlowConfig>>;
7273

7374
/**
7475
* DEPRECATED: Use `InputToArgumentToExecFlow` instead.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ module ExternallyControlledFormatStringConfig implements DataFlow::ConfigSig {
2929
* Taint-tracking flow for externally controlled format string vulnerabilities.
3030
*/
3131
module ExternallyControlledFormatStringFlow =
32-
TaintTracking::Global<ExternallyControlledFormatStringConfig>;
32+
TaintTracking::Global<DataFlow::FilteredConfig<ExternallyControlledFormatStringConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,5 @@ module FragmentInjectionTaintConfig implements DataFlow::ConfigSig {
4141
* Taint-tracking flow for unsafe user input
4242
* that is used to create Android fragments dynamically.
4343
*/
44-
module FragmentInjectionTaintFlow = TaintTracking::Global<FragmentInjectionTaintConfig>;
44+
module FragmentInjectionTaintFlow =
45+
TaintTracking::Global<DataFlow::FilteredConfig<FragmentInjectionTaintConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ module GroovyInjectionConfig implements DataFlow::ConfigSig {
4141
* Detect taint flow of unsafe user input
4242
* that is used to evaluate a Groovy expression.
4343
*/
44-
module GroovyInjectionFlow = TaintTracking::Global<GroovyInjectionConfig>;
44+
module GroovyInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<GroovyInjectionConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,4 @@ module ImplicitPendingIntentStartConfig implements DataFlow::StateConfigSig {
100100
}
101101

102102
module ImplicitPendingIntentStartFlow =
103-
TaintTracking::GlobalWithState<ImplicitPendingIntentStartConfig>;
103+
TaintTracking::GlobalWithState<DataFlow::FilteredStateConfig<ImplicitPendingIntentStartConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ module BeanValidationConfig implements DataFlow::ConfigSig {
5252
}
5353

5454
/** Tracks flow from user input to the argument of a method that builds constraint error messages. */
55-
module BeanValidationFlow = TaintTracking::Global<BeanValidationConfig>;
55+
module BeanValidationFlow = TaintTracking::Global<DataFlow::FilteredConfig<BeanValidationConfig>>;
5656

5757
/**
5858
* A bean validation sink, such as method `buildConstraintViolationWithTemplate`

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module InsecureLdapUrlConfig implements DataFlow::ConfigSig {
2424
}
2525
}
2626

27-
module InsecureLdapUrlFlow = TaintTracking::Global<InsecureLdapUrlConfig>;
27+
module InsecureLdapUrlFlow = TaintTracking::Global<DataFlow::FilteredConfig<InsecureLdapUrlConfig>>;
2828

2929
/**
3030
* A taint-tracking configuration for `simple` basic-authentication in LDAP configuration.

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,5 @@ module InsecureRandomnessConfig implements DataFlow::ConfigSig {
101101
/**
102102
* Taint-tracking flow of a Insecurely random value into a sensitive sink.
103103
*/
104-
module InsecureRandomnessFlow = TaintTracking::Global<InsecureRandomnessConfig>;
104+
module InsecureRandomnessFlow =
105+
TaintTracking::Global<DataFlow::FilteredConfig<InsecureRandomnessConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,5 @@ module InsecureTrustManagerConfig implements DataFlow::ConfigSig {
4242
}
4343
}
4444

45-
module InsecureTrustManagerFlow = DataFlow::Global<InsecureTrustManagerConfig>;
45+
module InsecureTrustManagerFlow =
46+
DataFlow::Global<DataFlow::FilteredConfig<InsecureTrustManagerConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ module KeySizeConfig implements DataFlow::StateConfigSig {
3636
}
3737

3838
/** Tracks key sizes used in cryptographic algorithms. */
39-
module KeySizeFlow = DataFlow::GlobalWithState<KeySizeConfig>;
39+
module KeySizeFlow = DataFlow::GlobalWithState<DataFlow::FilteredStateConfig<KeySizeConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,4 @@ module IntentUriPermissionManipulationConfig implements DataFlow::ConfigSig {
5252
* Taint tracking flow for user-provided Intents being returned to third party apps.
5353
*/
5454
module IntentUriPermissionManipulationFlow =
55-
TaintTracking::Global<IntentUriPermissionManipulationConfig>;
55+
TaintTracking::Global<DataFlow::FilteredConfig<IntentUriPermissionManipulationConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ module JexlInjectionConfig implements DataFlow::ConfigSig {
7676
* Tracks unsafe user input that is used to construct and evaluate a JEXL expression.
7777
* It supports both JEXL 2 and 3.
7878
*/
79-
module JexlInjectionFlow = TaintTracking::Global<JexlInjectionConfig>;
79+
module JexlInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<JexlInjectionConfig>>;
8080

8181
/**
8282
* Holds if `n1` to `n2` is a dataflow step that creates a JEXL script using an unsafe engine

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ module JndiInjectionFlowConfig implements DataFlow::ConfigSig {
4848
}
4949

5050
/** Tracks flow of unvalidated user input that is used in JNDI lookup */
51-
module JndiInjectionFlow = TaintTracking::Global<JndiInjectionFlowConfig>;
51+
module JndiInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<JndiInjectionFlowConfig>>;
5252

5353
/**
5454
* A method that does a JNDI lookup when it receives a `SearchControls` argument with `setReturningObjFlag` = `true`

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ module LdapInjectionFlowConfig implements DataFlow::ConfigSig {
2020
}
2121

2222
/** Tracks flow from remote sources to LDAP injection vulnerabilities. */
23-
module LdapInjectionFlow = TaintTracking::Global<LdapInjectionFlowConfig>;
23+
module LdapInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<LdapInjectionFlowConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ module MissingJwtSignatureCheckConfig implements DataFlow::ConfigSig {
3838
}
3939
}
4040

41-
module MissingJwtSignatureCheckFlow = DataFlow::Global<MissingJwtSignatureCheckConfig>;
41+
module MissingJwtSignatureCheckFlow =
42+
DataFlow::Global<DataFlow::FilteredConfig<MissingJwtSignatureCheckConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ module MvelInjectionFlowConfig implements DataFlow::ConfigSig {
4444
}
4545

4646
/** Tracks flow of unsafe user input that is used to construct and evaluate a MVEL expression. */
47-
module MvelInjectionFlow = TaintTracking::Global<MvelInjectionFlowConfig>;
47+
module MvelInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<MvelInjectionFlowConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ module NumericCastFlowConfig implements DataFlow::ConfigSig {
107107
/**
108108
* Taint-tracking flow for user input that is used in a numeric cast.
109109
*/
110-
module NumericCastFlow = TaintTracking::Global<NumericCastFlowConfig>;
110+
module NumericCastFlow = TaintTracking::Global<DataFlow::FilteredConfig<NumericCastFlowConfig>>;
111111

112112
/**
113113
* A taint-tracking configuration for reasoning about local user input that is

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ module OgnlInjectionFlowConfig implements DataFlow::ConfigSig {
4242
}
4343

4444
/** Tracks flow of unvalidated user input that is used in OGNL EL evaluation. */
45-
module OgnlInjectionFlow = TaintTracking::Global<OgnlInjectionFlowConfig>;
45+
module OgnlInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<OgnlInjectionFlowConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ module PartialPathTraversalFromRemoteConfig implements DataFlow::ConfigSig {
3838

3939
/** Tracks flow of unsafe user input that is used to validate against path traversal, but is insufficient and remains vulnerable to Partial Path Traversal. */
4040
module PartialPathTraversalFromRemoteFlow =
41-
TaintTracking::Global<PartialPathTraversalFromRemoteConfig>;
41+
TaintTracking::Global<DataFlow::FilteredConfig<PartialPathTraversalFromRemoteConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,4 @@ module RequestForgeryConfig implements DataFlow::ConfigSig {
5555
predicate isBarrierIn(DataFlow::Node node) { isSource(node) }
5656
}
5757

58-
module RequestForgeryFlow = TaintTracking::Global<RequestForgeryConfig>;
58+
module RequestForgeryFlow = TaintTracking::Global<DataFlow::FilteredConfig<RequestForgeryConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,5 @@ module ResponseSplittingConfig implements DataFlow::ConfigSig {
3636
/**
3737
* Tracks flow from remote sources to response splitting vulnerabilities.
3838
*/
39-
module ResponseSplittingFlow = TaintTracking::Global<ResponseSplittingConfig>;
39+
module ResponseSplittingFlow =
40+
TaintTracking::Global<DataFlow::FilteredConfig<ResponseSplittingConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ module RsaWithoutOaepConfig implements DataFlow::ConfigSig {
4545
}
4646

4747
/** Flow for finding RSA ciphers initialized without using OAEP padding. */
48-
module RsaWithoutOaepFlow = DataFlow::Global<RsaWithoutOaepConfig>;
48+
module RsaWithoutOaepFlow = DataFlow::Global<DataFlow::FilteredConfig<RsaWithoutOaepConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ module SpelInjectionConfig implements DataFlow::ConfigSig {
3939
}
4040

4141
/** Tracks flow of unsafe user input that is used to construct and evaluate a SpEL expression. */
42-
module SpelInjectionFlow = TaintTracking::Global<SpelInjectionConfig>;
42+
module SpelInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<SpelInjectionConfig>>;
4343

4444
/** Default sink for SpEL injection vulnerabilities. */
4545
private class DefaultSpelExpressionEvaluationSink extends SpelExpressionEvaluationSink {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ module QueryInjectionFlowConfig implements DataFlow::ConfigSig {
5050
}
5151

5252
/** Tracks flow of unvalidated user input that is used in SQL queries. */
53-
module QueryInjectionFlow = TaintTracking::Global<QueryInjectionFlowConfig>;
53+
module QueryInjectionFlow =
54+
TaintTracking::Global<DataFlow::FilteredConfig<QueryInjectionFlowConfig>>;
5455

5556
/**
5657
* Implementation of `SqlTainted.ql`. This is extracted to a QLL so that it

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

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ private import semmle.code.java.security.InformationLeak
77
/**
88
* One of the `printStackTrace()` overloads on `Throwable`.
99
*/
10-
class PrintStackTraceMethod extends Method {
10+
private class PrintStackTraceMethod extends Method {
1111
PrintStackTraceMethod() {
1212
this.getDeclaringType()
1313
.getSourceDeclaration()
@@ -17,11 +17,7 @@ class PrintStackTraceMethod extends Method {
1717
}
1818
}
1919

20-
/**
21-
* Flow configuration for xss vulnerable writer source flowing to `Throwable.printStackTrace()` on
22-
* a stream that is connected to external output.
23-
*/
24-
module ServletWriterSourceToPrintStackTraceMethodFlowConfig implements DataFlow::ConfigSig {
20+
private module ServletWriterSourceToPrintStackTraceMethodFlowConfig implements DataFlow::ConfigSig {
2521
predicate isSource(DataFlow::Node src) { src instanceof XssVulnerableWriterSourceNode }
2622

2723
predicate isSink(DataFlow::Node sink) {
@@ -32,7 +28,7 @@ module ServletWriterSourceToPrintStackTraceMethodFlowConfig implements DataFlow:
3228
}
3329

3430
private module ServletWriterSourceToPrintStackTraceMethodFlow =
35-
TaintTracking::Global<ServletWriterSourceToPrintStackTraceMethodFlowConfig>;
31+
TaintTracking::Global<DataFlow::FilteredConfig<ServletWriterSourceToPrintStackTraceMethodFlowConfig>>;
3632

3733
/**
3834
* A call that uses `Throwable.printStackTrace()` on a stream that is connected
@@ -59,10 +55,7 @@ private predicate printWriterOnStringWriter(Expr printWriter, Variable stringWri
5955
)
6056
}
6157

62-
/**
63-
* Holds if `stackTraceString` writes the stack trace from `exception` to a string.
64-
*/
65-
predicate stackTraceExpr(Expr exception, MethodCall stackTraceString) {
58+
private predicate stackTraceExpr(Expr exception, MethodCall stackTraceString) {
6659
exists(Expr printWriter, Variable stringWriterVar, MethodCall printStackCall |
6760
printWriterOnStringWriter(printWriter, stringWriterVar) and
6861
printStackCall.getMethod() instanceof PrintStackTraceMethod and
@@ -73,15 +66,14 @@ predicate stackTraceExpr(Expr exception, MethodCall stackTraceString) {
7366
)
7467
}
7568

76-
/** Flow configuration for stack trace flowing to http response. */
77-
module StackTraceStringToHttpResponseSinkFlowConfig implements DataFlow::ConfigSig {
69+
private module StackTraceStringToHttpResponseSinkFlowConfig implements DataFlow::ConfigSig {
7870
predicate isSource(DataFlow::Node src) { stackTraceExpr(_, src.asExpr()) }
7971

8072
predicate isSink(DataFlow::Node sink) { sink instanceof InformationLeakSink }
8173
}
8274

8375
private module StackTraceStringToHttpResponseSinkFlow =
84-
TaintTracking::Global<StackTraceStringToHttpResponseSinkFlowConfig>;
76+
TaintTracking::Global<DataFlow::FilteredConfig<StackTraceStringToHttpResponseSinkFlowConfig>>;
8577

8678
/**
8779
* Holds if `call` writes the data of `stackTrace` to an external stream.

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,4 +144,5 @@ module StaticInitializationVectorConfig implements DataFlow::ConfigSig {
144144
}
145145

146146
/** Tracks the flow from a static initialization vector to the initialization of a cipher */
147-
module StaticInitializationVectorFlow = TaintTracking::Global<StaticInitializationVectorConfig>;
147+
module StaticInitializationVectorFlow =
148+
TaintTracking::Global<DataFlow::FilteredConfig<StaticInitializationVectorConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ module TaintedPathConfig implements DataFlow::ConfigSig {
7575
}
7676

7777
/** Tracks flow from remote sources to the creation of a path. */
78-
module TaintedPathFlow = TaintTracking::Global<TaintedPathConfig>;
78+
module TaintedPathFlow = TaintTracking::Global<DataFlow::FilteredConfig<TaintedPathConfig>>;
7979

8080
/**
8181
* A taint-tracking configuration for tracking flow from local user input to the creation of a path.

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,5 @@ module TaintedPermissionsCheckFlowConfig implements DataFlow::ConfigSig {
6262
}
6363

6464
/** Tracks flow from user input to a permissions check. */
65-
module TaintedPermissionsCheckFlow = TaintTracking::Global<TaintedPermissionsCheckFlowConfig>;
65+
module TaintedPermissionsCheckFlow =
66+
TaintTracking::Global<DataFlow::FilteredConfig<TaintedPermissionsCheckFlowConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,5 @@ module TemplateInjectionFlowConfig implements DataFlow::ConfigSig {
5555
}
5656

5757
/** Tracks server-side template injection (SST) vulnerabilities */
58-
module TemplateInjectionFlow = TaintTracking::Global<TemplateInjectionFlowConfig>;
58+
module TemplateInjectionFlow =
59+
TaintTracking::Global<DataFlow::FilteredConfig<TemplateInjectionFlowConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,5 @@ module UnsafeContentResolutionConfig implements DataFlow::ConfigSig {
4444
}
4545

4646
/** Taint-tracking flow to find paths from remote sources to content URI resolutions. */
47-
module UnsafeContentResolutionFlow = TaintTracking::Global<UnsafeContentResolutionConfig>;
47+
module UnsafeContentResolutionFlow =
48+
TaintTracking::Global<DataFlow::FilteredConfig<UnsafeContentResolutionConfig>>;

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ deprecated class UnsafeDeserializationConfig extends TaintTracking::Configuratio
334334
}
335335

336336
/** Tracks flows from remote user input to a deserialization sink. */
337-
module UnsafeDeserializationConfig implements DataFlow::ConfigSig {
337+
private module UnsafeDeserializationConfig implements DataFlow::ConfigSig {
338338
predicate isSource(DataFlow::Node source) { source instanceof ThreatModelFlowSource }
339339

340340
predicate isSink(DataFlow::Node sink) { sink instanceof UnsafeDeserializationSink }
@@ -346,7 +346,8 @@ module UnsafeDeserializationConfig implements DataFlow::ConfigSig {
346346
predicate isBarrier(DataFlow::Node node) { isUnsafeDeserializationSanitizer(node) }
347347
}
348348

349-
module UnsafeDeserializationFlow = TaintTracking::Global<UnsafeDeserializationConfig>;
349+
module UnsafeDeserializationFlow =
350+
TaintTracking::Global<DataFlow::FilteredConfig<UnsafeDeserializationConfig>>;
350351

351352
/**
352353
* Gets a safe usage of the `use` method of Flexjson, which could be:

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ module TrustAllHostnameVerifierConfig implements DataFlow::ConfigSig {
6868
}
6969

7070
/** Data flow to model the flow of a `TrustAllHostnameVerifier` to a `set(Default)HostnameVerifier` call. */
71-
module TrustAllHostnameVerifierFlow = DataFlow::Global<TrustAllHostnameVerifierConfig>;
71+
module TrustAllHostnameVerifierFlow =
72+
DataFlow::Global<DataFlow::FilteredConfig<TrustAllHostnameVerifierConfig>>;
7273

7374
/**
7475
* A sink that sets the `HostnameVerifier` on `HttpsURLConnection`.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,4 +200,4 @@ module UrlForwardFlowConfig implements DataFlow::ConfigSig {
200200
/**
201201
* Taint-tracking flow for URL forwarding.
202202
*/
203-
module UrlForwardFlow = TaintTracking::Global<UrlForwardFlowConfig>;
203+
module UrlForwardFlow = TaintTracking::Global<DataFlow::FilteredConfig<UrlForwardFlowConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ module UrlRedirectConfig implements DataFlow::ConfigSig {
1818
/**
1919
* Taint-tracking flow for URL redirections.
2020
*/
21-
module UrlRedirectFlow = TaintTracking::Global<UrlRedirectConfig>;
21+
module UrlRedirectFlow = TaintTracking::Global<DataFlow::FilteredConfig<UrlRedirectConfig>>;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,5 @@ module WebviewDebugEnabledConfig implements DataFlow::ConfigSig {
7575
/**
7676
* Tracks instances of `setWebContentDebuggingEnabled` with `true` values.
7777
*/
78-
module WebviewDebugEnabledFlow = DataFlow::Global<WebviewDebugEnabledConfig>;
78+
module WebviewDebugEnabledFlow =
79+
DataFlow::Global<DataFlow::FilteredConfig<WebviewDebugEnabledConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ module XPathInjectionConfig implements DataFlow::ConfigSig {
1717
/**
1818
* Taint-tracking flow for XPath injection vulnerabilities.
1919
*/
20-
module XPathInjectionFlow = TaintTracking::Global<XPathInjectionConfig>;
20+
module XPathInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<XPathInjectionConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ module XsltInjectionFlowConfig implements DataFlow::ConfigSig {
4646
/**
4747
* Tracks flow from unvalidated user input to XSLT transformation.
4848
*/
49-
module XsltInjectionFlow = TaintTracking::Global<XsltInjectionFlowConfig>;
49+
module XsltInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<XsltInjectionFlowConfig>>;
5050

5151
/**
5252
* A set of additional taint steps to consider when taint tracking XSLT related data flows.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ module XssConfig implements DataFlow::ConfigSig {
2323
}
2424

2525
/** Tracks flow from remote sources to cross site scripting vulnerabilities. */
26-
module XssFlow = TaintTracking::Global<XssConfig>;
26+
module XssFlow = TaintTracking::Global<DataFlow::FilteredConfig<XssConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ module XxeConfig implements DataFlow::ConfigSig {
4242
/**
4343
* Detect taint flow of unvalidated remote user input that is used in XML external entity expansion.
4444
*/
45-
module XxeFlow = TaintTracking::Global<XxeConfig>;
45+
module XxeFlow = TaintTracking::Global<DataFlow::FilteredConfig<XxeConfig>>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ module ZipSlipConfig implements DataFlow::ConfigSig {
4747
}
4848

4949
/** Tracks flow from archive entries to file creation. */
50-
module ZipSlipFlow = TaintTracking::Global<ZipSlipConfig>;
50+
module ZipSlipFlow = TaintTracking::Global<DataFlow::FilteredConfig<ZipSlipConfig>>;
5151

5252
/**
5353
* A sink that represents a file creation, such as a file write, copy or move operation.

java/ql/lib/semmle/code/java/security/regexp/PolynomialReDoSQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,4 @@ module PolynomialRedosConfig implements DataFlow::ConfigSig {
8181
}
8282
}
8383

84-
module PolynomialRedosFlow = TaintTracking::Global<PolynomialRedosConfig>;
84+
module PolynomialRedosFlow = TaintTracking::Global<DataFlow::FilteredConfig<PolynomialRedosConfig>>;

java/ql/lib/semmle/code/java/security/regexp/RegexInjectionQuery.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ module RegexInjectionConfig implements DataFlow::ConfigSig {
3434
/**
3535
* Taint-tracking flow for untrusted user input used to construct regular expressions.
3636
*/
37-
module RegexInjectionFlow = TaintTracking::Global<RegexInjectionConfig>;
37+
module RegexInjectionFlow = TaintTracking::Global<DataFlow::FilteredConfig<RegexInjectionConfig>>;

0 commit comments

Comments
 (0)