Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions javascript/src/audit/CWE-089/SqlInjectionAudit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Audit: Usage of unsafe Database query

This query detects the use of unsafe sql injection sinks. Unsafe sql sinks are functions that can lead to remote code execution if user controled input comes into the sink
21 changes: 21 additions & 0 deletions javascript/src/audit/CWE-089/SqlInjectionAudit.ql
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
* @name Audit: Database query built from user-controlled sources
* @description A SQL Injection sink is being used in your application, this can lead to remote code execution if user controled input comes into the sink
* @kind problem
* @problem.severity error
* @security-severity 3.0
* @id githubsecuritylab/audit/sql-injection
* @tags security
* external/cwe/cwe-089
* external/cwe/cwe-090
* external/cwe/cwe-943
* audit
*/

import javascript
import semmle.javascript.security.dataflow.SqlInjectionQuery as SqlInjection
import semmle.javascript.security.dataflow.NosqlInjectionQuery as NosqlInjection

from DataFlow::Node sink
where sink instanceof SqlInjection::Sink or sink instanceof NosqlInjection::Sink
select sink, "Possible SQL Injection sink"