Skip to content

Commit e566357

Browse files
authored
Merge pull request #10935 from github/nickrolfe/taint-step
2 parents 88c6453 + 9fb436e commit e566357

File tree

6 files changed

+367
-2
lines changed

6 files changed

+367
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* There was a bug in `TaintTracking::localTaint` and `TaintTracking::localTaintStep` such that they only tracked non-value-preserving flow steps. They have been fixed and now also include value-preserving steps.

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ private module Cached {
115115
*/
116116
cached
117117
predicate localTaintStepCached(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
118-
defaultAdditionalTaintStep(nodeFrom, nodeTo)
119-
or
118+
DataFlow::localFlowStep(nodeFrom, nodeTo) or
119+
defaultAdditionalTaintStep(nodeFrom, nodeTo) or
120120
// Simple flow through library code is included in the exposed local
121121
// step relation, even though flow is technically inter-procedural
122122
FlowSummaryImpl::Private::Steps::summaryThroughStepTaint(nodeFrom, nodeTo, _)

0 commit comments

Comments
 (0)