mirror of
https://github.com/github/codeql.git
synced 2026-04-29 02:35:15 +02:00
Deprecate sensitiveResultReceiver
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
category: deprecated
|
||||
---
|
||||
* The `sensitiveResultReceiver` predicate in `SensitiveResultReceiverQuery.qll` has been deprecated and replaced with `isSensitiveResultReceiver` in order to use the new dataflow api.
|
||||
|
||||
@@ -47,9 +47,29 @@ private module SensitiveResultReceiverConfig implements DataFlow::ConfigSig {
|
||||
module SensitiveResultReceiverFlow = TaintTracking::Global<SensitiveResultReceiverConfig>;
|
||||
|
||||
/**
|
||||
* DEPRECATED: Use `isSensitiveResultReceiver` instead.
|
||||
*
|
||||
* 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`.
|
||||
*/
|
||||
predicate sensitiveResultReceiver(
|
||||
deprecated predicate sensitiveResultReceiver(
|
||||
DataFlow::PathNode src, DataFlow::PathNode sink, DataFlow::Node recSrc
|
||||
) {
|
||||
exists(
|
||||
ResultReceiverSendCall call, SensitiveResultReceiverFlow::PathNode srrSrc,
|
||||
SensitiveResultReceiverFlow::PathNode srrSink
|
||||
|
|
||||
src.getNode() = srrSrc.getNode() and sink.getNode() = srrSink.getNode()
|
||||
|
|
||||
SensitiveResultReceiverFlow::flowPath(srrSrc, srrSink) and
|
||||
sink.getNode().asExpr() = call.getSentData() and
|
||||
untrustedResultReceiverSend(recSrc, call)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 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`.
|
||||
*/
|
||||
predicate isSensitiveResultReceiver(
|
||||
SensitiveResultReceiverFlow::PathNode src, SensitiveResultReceiverFlow::PathNode sink,
|
||||
DataFlow::Node recSrc
|
||||
) {
|
||||
|
||||
@@ -18,6 +18,6 @@ import SensitiveResultReceiverFlow::PathGraph
|
||||
from
|
||||
SensitiveResultReceiverFlow::PathNode src, SensitiveResultReceiverFlow::PathNode sink,
|
||||
DataFlow::Node recSrc
|
||||
where sensitiveResultReceiver(src, sink, recSrc)
|
||||
where isSensitiveResultReceiver(src, sink, recSrc)
|
||||
select sink, src, sink, "This $@ is sent to a ResultReceiver obtained from $@.", src,
|
||||
"sensitive information", recSrc, "this untrusted source"
|
||||
|
||||
Reference in New Issue
Block a user