SQL injection in sql/instance.py endpoint in Archery - GHSL-2022-101
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- SQL injection
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-89.
Summary
Archery is an open source SQL audit platform. The Archery project contains multiple SQL injection vulnerabilities, that may allow an attacker to query the connected databases. Affected versions are subject to SQL injection in the `sql/instance.py` endpoint's `describe` method. In several cases, user input coming from the `tb_name` parameter value, the `db_name` parameter value or the `schema_name` value in the `sql/instance.py` `describe` endpoint is passed to the `describe_table` methods in given SQL engine implementations, which concatenate user input unsafely into a SQL query and afterwards pass it to the `query` method of each database engine for execution. Please take into account that in some cases all three parameter values are concatenated, in other only one or two of them. The affected methods are: `describe_table` in `sql/engines/clickhouse.py`which concatenates input which is passed to execution on the database in the `query` method in `sql/engines/clickhouse.py`, `describe_table` in `sql/engines/mssql.py` which concatenates input which is passed to execution on the database in the `query` methods in `sql/engines/mssql.py`, `describe_table` in `sql/engines/mysql.py`which concatenates input which is passed to execution on the database in the `query` method in `sql/engines/mysql.py`, `describe_table` in `sql/engines/oracle.py` which concatenates input which is passed to execution on the database in the `query` methods in `sql/engines/oracle.py`, `describe_table` in `sql/engines/pgsql.py`which concatenates input which is passed to execution on the database in the `query` methods in `sql/engines/pgsql.py`, `describe_table` in `sql/engines/phoenix.py` which concatenates input which is passed to execution on the database in the `query` method in `sql/engines/phoenix.py`. Each of these issues may be mitigated by escaping user input or by using prepared statements when executing SQL queries. This issue is also indexed as `GHSL-2022-101`.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2023-30552
References
More hhyo Archery vulnerabilities
- TI-2023-14421 Multiple SQL injections in sql/instance.py param_edit method in Archery - GHSL-2022-104 CVSS 3.1MEDIUM 6.5
- TI-2023-14391 SQL injection in sql_optimize.py optimize_sqltuningadvisor method in Archery - GHSL-2022-107 CVSS 3.1MEDIUM 6.5
- TI-2022-18131 Archery v1.8.3 to v1.8.5 was discovered to contain multiple SQL injection vulnerabilities… CVSS 3.1CRITICAL 9.8
- TI-2022-18132 Archery v1.4.0 to v1.8.5 was discovered to contain a SQL injection vulnerability via the… CVSS 3.1CRITICAL 9.8
- TI-2022-18130 Archery v1.4.0 to v1.8.5 was discovered to contain a SQL injection vulnerability via the… CVSS 3.1CRITICAL 9.8
- TI-2022-18129 Archery v1.7.5 to v1.8.5 was discovered to contain a SQL injection vulnerability via the… CVSS 3.1CRITICAL 9.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences