From b6b4df5ce0d305cbfe5b422e7b14ff4798061142 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Fri, 4 Jul 2025 20:24:22 +0100 Subject: [PATCH] PS: Implement 'localExprTaint' instead of leaving it as 'none()'. --- .../code/powershell/dataflow/internal/TaintTrackingPublic.qll | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPublic.qll b/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPublic.qll index 88a123ae9d8..17e071e783c 100644 --- a/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPublic.qll +++ b/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPublic.qll @@ -15,6 +15,8 @@ predicate localTaint(DataFlow::Node source, DataFlow::Node sink) { localTaintSte * local (intra-procedural) steps. */ pragma[inline] -predicate localExprTaint(CfgNodes::ExprCfgNode e1, CfgNodes::ExprCfgNode e2) { none() } +predicate localExprTaint(CfgNodes::ExprCfgNode e1, CfgNodes::ExprCfgNode e2) { + localTaintStep*(DataFlow::exprNode(e1), DataFlow::exprNode(e2)) +} predicate localTaintStep = localTaintStepCached/2;