Skip to content

Commit 867e47b

Browse files
committed
Ruby: renames for rb/log-injection
1 parent eb34bbb commit 867e47b

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

ruby/ql/lib/codeql/ruby/security/LogInjectionQuery.qll

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ abstract class Sanitizer extends DataFlow::Node { }
2626

2727
/**
2828
* A taint-tracking configuration for untrusted user input used in log entries.
29+
* DEPRECATED: Use `LogInjectionFlow`
2930
*/
30-
class LogInjectionConfiguration extends TaintTracking::Configuration {
31+
deprecated class LogInjectionConfiguration extends TaintTracking::Configuration {
3132
LogInjectionConfiguration() { this = "LogInjection" }
3233

3334
override predicate isSource(DataFlow::Node source) { source instanceof Source }
@@ -74,3 +75,16 @@ class InspectSanitizer extends Sanitizer {
7475
class HtmlEscapingAsSanitizer extends Sanitizer {
7576
HtmlEscapingAsSanitizer() { this = any(HtmlEscaping esc).getOutput() }
7677
}
78+
79+
private module LogInjectionConfig implements DataFlow::ConfigSig {
80+
predicate isSource(DataFlow::Node source) { source instanceof Source }
81+
82+
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
83+
84+
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
85+
}
86+
87+
/**
88+
* Taint-tracking for untrusted user input used in log entries.
89+
*/
90+
module LogInjectionFlow = TaintTracking::Global<LogInjectionConfig>;

ruby/ql/src/queries/security/cwe-117/LogInjection.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
*/
1313

1414
import codeql.ruby.AST
15-
import DataFlow::PathGraph
1615
import codeql.ruby.security.LogInjectionQuery
16+
import LogInjectionFlow::PathGraph
1717

18-
from LogInjectionConfiguration config, DataFlow::PathNode source, DataFlow::PathNode sink
19-
where config.hasFlowPath(source, sink)
18+
from LogInjectionFlow::PathNode source, LogInjectionFlow::PathNode sink
19+
where LogInjectionFlow::flowPath(source, sink)
2020
select sink.getNode(), source, sink, "Log entry depends on a $@.", source.getNode(),
2121
"user-provided value"

0 commit comments

Comments
 (0)