Skip to content

Commit 46afa9c

Browse files
author
Alvaro Muñoz
committed
Add new tests
1 parent f251783 commit 46afa9c

21 files changed

+81
-23
lines changed

ql/lib/codeql/actions/dataflow/ExternalFlow.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,10 @@ predicate externallyDefinedStoreStep(
8686
)
8787
}
8888

89-
predicate externallyDefinedSink(DataFlow::ExprNode sink, string kind) {
89+
predicate externallyDefinedSink(DataFlow::Node sink, string kind) {
9090
exists(Uses uses, string action, string version, string input |
91+
sinkModel(action, version, input, kind) and
92+
uses.getCallee() = action.toLowerCase() and
9193
(
9294
if input.trim().matches("env.%")
9395
then sink.asExpr() = uses.getInScopeEnvVarExpr(input.trim().replaceAll("env.", ""))
@@ -96,8 +98,6 @@ predicate externallyDefinedSink(DataFlow::ExprNode sink, string kind) {
9698
then sink.asExpr() = uses.getArgumentExpr(input.trim().replaceAll("input.", ""))
9799
else none()
98100
) and
99-
sinkModel(action, version, input, kind) and
100-
uses.getCallee() = action.toLowerCase() and
101101
(
102102
if version.trim() = "*"
103103
then uses.getVersion() = any(string v)

ql/src/Security/CWE-078/CommandInjection.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414

1515
import actions
16+
import codeql.actions.DataFlow
1617
import codeql.actions.TaintTracking
1718
import codeql.actions.dataflow.FlowSources
1819
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-078/CriticalCommandInjection.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414

1515
import actions
16+
import codeql.actions.DataFlow
1617
import codeql.actions.TaintTracking
1718
import codeql.actions.dataflow.FlowSources
1819
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-094/CodeInjection.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616

1717
import actions
18+
import codeql.actions.DataFlow
1819
import codeql.actions.TaintTracking
1920
import codeql.actions.dataflow.FlowSources
2021
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-094/CriticalCodeInjection.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616

1717
import actions
18+
import codeql.actions.DataFlow
1819
import codeql.actions.TaintTracking
1920
import codeql.actions.dataflow.FlowSources
2021
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-918/RequestForgery.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

ql/test/library-tests/test.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@ scopes
315315
sources
316316
| ahmadnassri/action-changed-files | * | output.files | pull_request_target | PR changed files |
317317
| ahmadnassri/action-changed-files | * | output.json | pull_request_target | PR changed files |
318+
| amannn/action-semantic-pull-request | * | output.error_message | pull_request_target | PR title |
319+
| cypress-io/github-action | * | env.GH_BRANCH | pull_request_target | PR branch |
320+
| dawidd6/action-download-artifact | * | output.artifacts | * | Artifact details |
318321
| dorny/paths-filter | * | output.changes | pull_request_target | PR changed files |
319322
| franzdiebold/github-env-vars-action | * | output.CI_PR_DESCRIPTION | pull_request_target | PR body |
320323
| franzdiebold/github-env-vars-action | * | output.CI_PR_TITLE | pull_request_target | PR title |
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
on: issue_comment
2+
3+
jobs:
4+
test1:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: ruby/setup-ruby@v2
8+
with:
9+
ruby-version: ${{ github.event.comment.body }}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
edges
2+
nodes
3+
| .github/workflows/comment_issue.yml:9:26:9:57 | github.event.comment.body | semmle.label | github.event.comment.body |
4+
subpaths
5+
#select
6+
| .github/workflows/comment_issue.yml:9:26:9:57 | github.event.comment.body | .github/workflows/comment_issue.yml:9:26:9:57 | github.event.comment.body | .github/workflows/comment_issue.yml:9:26:9:57 | github.event.comment.body | Potential command injection in $@, which may be controlled by an external user. | .github/workflows/comment_issue.yml:9:26:9:57 | github.event.comment.body | ${{ github.event.comment.body }} |
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Security/CWE-078/CommandInjection.ql

0 commit comments

Comments
 (0)