Learn about CVE-2023-30557 affecting Archery, an open-source SQL audit platform, allowing SQL injection via unsafely concatenated user input in the `data_dictionary.py` method.
Archery is an open-source SQL audit platform that contains multiple SQL injection vulnerabilities, specifically in the
data_dictionary.py
table_info
method. These vulnerabilities may allow attackers to query connected databases by manipulating user input. The affected versions are those less than or equal to 1.9.0.
Understanding CVE-2023-30557
This vulnerability is indexed as
GHSA-9pvw-f8jv-xxjr
.
What is CVE-2023-30557?
Archery's
data_dictionary.py
table_info
method is susceptible to SQL injection, enabling attackers to exploit user input and access connected databases.
The Impact of CVE-2023-30557
The impact of this vulnerability is rated as medium severity with a CVSS base score of 6.5. It can result in high confidentiality impact.
Technical Details of CVE-2023-30557
The vulnerability allows attackers to inject SQL commands via unsafely concatenated user input in the
data_dictionary.py
table_info
endpoint. The vulnerable method implementations like get_table_meta_data
in sql/engines/mssql.py
and others pass this input to SQL query execution methods, potentially leading to unauthorized database access.
Vulnerability Description
User input from the
db_name
and tb_name
parameters in the data_dictionary.py
table_info
endpoint is combined unsafely into SQL queries across different SQL engine implementations.
Affected Systems and Versions
The vulnerability affects versions of Archery up to and including 1.9.0.
Exploitation Mechanism
Attackers exploit the vulnerability by manipulating user input in the affected parameters, allowing them to execute unauthorized SQL queries on connected databases.
Mitigation and Prevention
To mitigate this vulnerability, it is recommended to escape user input or use prepared statements while executing SQL queries within Archery.
Immediate Steps to Take
Users should update Archery to a version that includes a fix for this vulnerability as soon as possible.
Long-Term Security Practices
Implement secure coding practices, conduct regular security assessments, and stay informed about security updates for Archery.
Patching and Updates
Regularly check for updates and patches released by the Archery team to address this vulnerability.