Skip to content

Commit 0e59257

Browse files
committed
Fix local taint steps
Local taint should include local flow and simple summaries through library code
1 parent e0c8a8e commit 0e59257

File tree

2 files changed

+1412
-0
lines changed

2 files changed

+1412
-0
lines changed

swift/ql/lib/codeql/swift/dataflow/internal/TaintTrackingPrivate.qll

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,13 @@ private module Cached {
7474
*/
7575
cached
7676
predicate localTaintStepCached(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
77+
DataFlow::localFlowStep(nodeFrom, nodeTo)
78+
or
7779
defaultAdditionalTaintStep(nodeFrom, nodeTo)
80+
or
81+
// Simple flow through library code is included in the exposed local
82+
// step relation, even though flow is technically inter-procedural
83+
FlowSummaryImpl::Private::Steps::summaryThroughStepTaint(nodeFrom, nodeTo, _)
7884
}
7985
}
8086

0 commit comments

Comments
 (0)