Lucene search

K
githubGitHub Advisory DatabaseGHSA-8FXG-MR34-JQR8
HistoryMay 13, 2024 - 4:46 p.m.

NocoDB SQL Injection vulnerability

2024-05-1316:46:59
CWE-89
GitHub Advisory Database
github.com
4
sql injection
mysql
data leakage
vitessclient

8 High

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

8.7%

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.

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.

CPENameOperatorVersion
nocodble0.202.9

8 High

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

8.7%

Related for GHSA-8FXG-MR34-JQR8