GitHub Advisoryadvisory · npm
GHSA-8fxg-mr34-jqr8 NocoDB SQL Injection vulnerability
MEDIUM
Official page ↗
- Aliases
- CVE-2023-50718
- Ecosystem
- npm
- Packages
- nocodb
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
- Weaknesses
- CWE-89
- Reviewed
- 2024-05-13
Affected packages
• npm nocodb: < 0.202.10 → fixed in 0.202.10
Description
Summary
---
An authenticated attacker with create access could conduct a SQL Injection attack on MySQL DB using unescaped table_name.
Details
---
SQL Injection vulnerability occurs in VitessClient.ts.
```javascript
async columnList(args: any = {}) {
const func = this.columnList.name;
const result = new Result();
log.api(`${func}:args:`, args);
try {
args.databaseName = this.connectionConfig.connection.database;
const response = await this.sqlClient.raw(
`select *, table_name as tn from information_schema.columns where table_name = '${args.tn}' ORDER by ordinal_position`,
);
```
The variable ${args.tn} refers to the table name entered by the user.
A malicious attacker can escape the existing query by including a special character (') in the table name and insert and execute a new arbitrary SQL query.
Impact
---
This vulnerability may result in leakage of sensitive data in the database.
Related
Alias · CVE (1)
- CVE-2023-50718 NocoDB is software for building databases as spreadsheets. vulnerability
Weakness · CWE (1)
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command weakness