| Título | GitHub dresende node-sql-query 0.1.25-0.1.28 SQL Injection |
|---|
| Descrição | 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. |
|---|
| Fonte | ⚠️ https://github.com/windhxy/CVE-my/issues/2 |
|---|
| Utilizador | windhxy (UID 90128) |
|---|
| Submissão | 23/06/2026 03h58 (há 2 meses) |
|---|
| Moderação | 08/08/2026 18h29 (2 months later) |
|---|
| Estado | Aceite |
|---|
| Entrada 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 Injeção SQL] |
|---|
| Pontos | 20 |
|---|