Skip to content

Commit ea54ea4

Browse files
committed
Deprecate sensitiveResultReceiver
1 parent 3e55c47 commit ea54ea4

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
category: deprecated
3+
---
4+
* The `sensitiveResultReceiver` predicate in `SensitiveResultReceiverQuery.qll` has been deprecated and replaced with `isSensitiveResultReceiver` in order to use the new dataflow api.
5+

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,29 @@ private module SensitiveResultReceiverConfig implements DataFlow::ConfigSig {
4747
module SensitiveResultReceiverFlow = TaintTracking::Global<SensitiveResultReceiverConfig>;
4848

4949
/**
50+
* DEPRECATED: Use `isSensitiveResultReceiver` instead.
51+
*
5052
* Holds if there is a path from sensitive data at `src` to a result receiver at `sink`, and the receiver was obtained from an untrusted source `recSrc`.
5153
*/
52-
predicate sensitiveResultReceiver(
54+
deprecated predicate sensitiveResultReceiver(
55+
DataFlow::PathNode src, DataFlow::PathNode sink, DataFlow::Node recSrc
56+
) {
57+
exists(
58+
ResultReceiverSendCall call, SensitiveResultReceiverFlow::PathNode srrSrc,
59+
SensitiveResultReceiverFlow::PathNode srrSink
60+
|
61+
src.getNode() = srrSrc.getNode() and sink.getNode() = srrSink.getNode()
62+
|
63+
SensitiveResultReceiverFlow::flowPath(srrSrc, srrSink) and
64+
sink.getNode().asExpr() = call.getSentData() and
65+
untrustedResultReceiverSend(recSrc, call)
66+
)
67+
}
68+
69+
/**
70+
* Holds if there is a path from sensitive data at `src` to a result receiver at `sink`, and the receiver was obtained from an untrusted source `recSrc`.
71+
*/
72+
predicate isSensitiveResultReceiver(
5373
SensitiveResultReceiverFlow::PathNode src, SensitiveResultReceiverFlow::PathNode sink,
5474
DataFlow::Node recSrc
5575
) {

java/ql/src/Security/CWE/CWE-927/SensitiveResultReceiver.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ import SensitiveResultReceiverFlow::PathGraph
1818
from
1919
SensitiveResultReceiverFlow::PathNode src, SensitiveResultReceiverFlow::PathNode sink,
2020
DataFlow::Node recSrc
21-
where sensitiveResultReceiver(src, sink, recSrc)
21+
where isSensitiveResultReceiver(src, sink, recSrc)
2222
select sink, src, sink, "This $@ is sent to a ResultReceiver obtained from $@.", src,
2323
"sensitive information", recSrc, "this untrusted source"

0 commit comments

Comments
 (0)