Skip to content

Commit e368ee4

Browse files
committed
Rust: Accept that sql-injection sinks are sinks for this query, and that the existing sinks created for this query are also new sql-injection sinks.
1 parent 989b48d commit e368ee4

File tree

4 files changed

+117
-60
lines changed

4 files changed

+117
-60
lines changed

rust/ql/lib/codeql/rust/frameworks/sqlx.model.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ extensions:
33
pack: codeql/rust-all
44
extensible: sinkModel
55
data:
6-
- ["sqlx_core::query::query", "Argument[0]", "database-store", "manual"]
7-
- ["sqlx_core::query_as::query_as", "Argument[0]", "database-store", "manual"]
8-
- ["sqlx_core::query_with::query_with", "Argument[0]", "database-store", "manual"]
9-
- ["sqlx_core::query_as_with::query_as_with", "Argument[0]", "database-store", "manual"]
10-
- ["sqlx_core::query_scalar::query_scalar", "Argument[0]", "database-store", "manual"]
11-
- ["sqlx_core::query_scalar_with::query_scalar_with", "Argument[0]", "database-store", "manual"]
12-
- ["sqlx_core::raw_sql::raw_sql", "Argument[0]", "database-store", "manual"]
13-
- ["<_ as sqlx_core::executor::Executor>::execute", "Argument[0]", "database-store", "manual"]
6+
- ["sqlx_core::query::query", "Argument[0]", "sql-injection", "manual"]
7+
- ["sqlx_core::query_as::query_as", "Argument[0]", "sql-injection", "manual"]
8+
- ["sqlx_core::query_with::query_with", "Argument[0]", "sql-injection", "manual"]
9+
- ["sqlx_core::query_as_with::query_as_with", "Argument[0]", "sql-injection", "manual"]
10+
- ["sqlx_core::query_scalar::query_scalar", "Argument[0]", "sql-injection", "manual"]
11+
- ["sqlx_core::query_scalar_with::query_scalar_with", "Argument[0]", "sql-injection", "manual"]
12+
- ["sqlx_core::raw_sql::raw_sql", "Argument[0]", "sql-injection", "manual"]
13+
- ["<_ as sqlx_core::executor::Executor>::execute", "Argument[0]", "sql-injection", "manual"]

rust/ql/lib/codeql/rust/security/CleartextStorageDatabaseExtensions.qll

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ module CleartextStorageDatabase {
3939

4040
/**
4141
* A sink for cleartext storage vulnerabilities from model data.
42+
* - SQL commands
43+
* - other database storage operations
4244
*/
4345
private class ModelsAsDataSink extends Sink {
44-
ModelsAsDataSink() { exists(string s | sinkNode(this, s) and s.matches("database-store")) }
46+
ModelsAsDataSink() { sinkNode(this, ["sql-injection", "database-store"]) }
4547
}
4648
}

0 commit comments

Comments
 (0)