1- /** Provides taint-tracking configurations to reason about arithmetic with unvalidated user input. */
1+ /** Provides taint-tracking configurations to reason about arithmetic with unvalidated input. */
22
33import java
44private import semmle.code.java.dataflow.FlowSources
55private import semmle.code.java.security.ArithmeticCommon
66
7- /** A taint-tracking configuration to reason about overflow from unvalidated user input. */
8- module RemoteUserInputOverflowConfig implements DataFlow:: ConfigSig {
7+ /** A taint-tracking configuration to reason about overflow from unvalidated input. */
8+ module ArithmeticOverflowConfig implements DataFlow:: ConfigSig {
99 predicate isSource ( DataFlow:: Node source ) { source instanceof ThreatModelFlowSource }
1010
1111 predicate isSink ( DataFlow:: Node sink ) { overflowSink ( _, sink .asExpr ( ) ) }
@@ -15,8 +15,13 @@ module RemoteUserInputOverflowConfig implements DataFlow::ConfigSig {
1515 predicate isBarrierIn ( DataFlow:: Node node ) { isSource ( node ) }
1616}
1717
18- /** A taint-tracking configuration to reason about underflow from unvalidated user input. */
19- module RemoteUserInputUnderflowConfig implements DataFlow:: ConfigSig {
18+ /**
19+ * DEPRECATED: Use `ArithmeticOverflowConfig` instead.
20+ */
21+ deprecated module RemoteUserInputOverflowConfig = ArithmeticOverflowConfig;
22+
23+ /** A taint-tracking configuration to reason about underflow from unvalidated input. */
24+ module ArithmeticUnderflowConfig implements DataFlow:: ConfigSig {
2025 predicate isSource ( DataFlow:: Node source ) { source instanceof ThreatModelFlowSource }
2126
2227 predicate isSink ( DataFlow:: Node sink ) { underflowSink ( _, sink .asExpr ( ) ) }
@@ -26,8 +31,23 @@ module RemoteUserInputUnderflowConfig implements DataFlow::ConfigSig {
2631 predicate isBarrierIn ( DataFlow:: Node node ) { isSource ( node ) }
2732}
2833
29- /** Taint-tracking flow for overflow from unvalidated user input. */
30- module RemoteUserInputOverflow = TaintTracking:: Global< RemoteUserInputOverflowConfig > ;
34+ /**
35+ * DEPRECATED: Use `ArithmeticUnderflowConfig` instead.
36+ */
37+ deprecated module RemoteUserInputUnderflowConfig = ArithmeticUnderflowConfig;
38+
39+ /** Taint-tracking flow for overflow from unvalidated input. */
40+ module ArithmeticOverflow = TaintTracking:: Global< ArithmeticOverflowConfig > ;
41+
42+ /**
43+ * DEPRECATED: Use `ArithmeticOverflow` instead.
44+ */
45+ deprecated module RemoteUserInputOverflow = ArithmeticOverflow;
46+
47+ /** Taint-tracking flow for underflow from unvalidated input. */
48+ module ArithmeticUnderflow = TaintTracking:: Global< ArithmeticUnderflowConfig > ;
3149
32- /** Taint-tracking flow for underflow from unvalidated user input. */
33- module RemoteUserInputUnderflow = TaintTracking:: Global< RemoteUserInputUnderflowConfig > ;
50+ /**
51+ * DEPRECATED: Use `ArithmeticUnderflow` instead.
52+ */
53+ deprecated module RemoteUserInputUnderflow = ArithmeticUnderflow;
0 commit comments