| タイトル | GitHub dresende node-sql-query 0.1.25-0.1.28 SQL Injection |
|---|
| 説明 | An SQL fragment injection vulnerability exists in the joinType option of the SelectQuery.from() method.
The library allows developers to specify a JOIN type through an options object:
.from("orders", "user_id", "id", {
joinType: "LEFT"
})
However, the value of joinType is not checked against an allow-list of valid JOIN types. During SQL generation, the value is only converted to uppercase and is then concatenated directly into the generated SQL statement.
The affected code is:
if (from.opts && from.opts.joinType) {
query.push(from.opts.joinType.toUpperCase());
}
query.push("JOIN");
The call to toUpperCase() is not a security validation mechanism. It does not remove SQL keywords, comments, parentheses, subqueries, or other attacker-controlled SQL syntax.
If a downstream application passes untrusted data, such as an HTTP request parameter or JSON property, into joinType, an attacker can inject arbitrary SQL fragments into the generated SELECT statement. |
|---|
| ソース | ⚠️ https://github.com/windhxy/CVE-my/issues/2 |
|---|
| ユーザー | windhxy (UID 90128) |
|---|
| 送信 | 2026年06月23日 03:58 (2 月 ago) |
|---|
| モデレーション | 2026年08月08日 18:29 (2 months later) |
|---|
| ステータス | 承諾済み |
|---|
| VulDBエントリ | 387190 [dresende node-sql-query 0.1.25/0.1.26/0.1.27/0.1.28 Request Parameter lib/Select.js SelectQuery.from/SelectQuery.build SQLインジェクション] |
|---|
| ポイント | 20 |
|---|