appsmith has SQL Injection in FilterDataService via Unsafe DROP TABLE ExecutionGHSA-h8cj-hpmg-636v
HIGHFix: appsmithorg/appsmith@c8023baGHSA-h8cj-hpmg-636v is a high-severity (CVSS 7.2) vulnerability in com.appsmith:interfaces. A fix is available for com.appsmith:interfaces — see the affected versions and patch details below.
Real-World Exposure
com.appsmith:interfacesReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Summary
A SQL injection vulnerability exists in FilterDataServiceCE.java where the dropTable method constructs a SQL DROP TABLE statement using string concatenation with the table name. If the table name is derived from user input, this allows for arbitrary SQL command execution.
Details
The vulnerability is located in app/server/appsmith-interfaces/src/main/java/com/appsmith/external/services/ce/FilterDataServiceCE.java.
Line 627 in dropTable method:
public void dropTable(String tableName) {
String dropTableQuery = "DROP TABLE " + tableName + ";";
executeDbQuery(dropTableQuery);
}
The tableName argument is concatenated directly into the SQL string without validation or escaping.
PoC
If dropTable is exposed to user input (e.g., via a utility API that accepts a table name to clean up), an attacker could provide a value like:
valid_table; DROP TABLE users; --
The resulting query would be:
DROP TABLE valid_table; DROP TABLE users; --;
This would delete the intended table and then delete the users table (or execute any other injected SQL).
Impact
- Type: SQL Injection
- Impact: Data Loss (Drop Table), potentially Data Exfiltration or Modification depending on database permissions.
- Who is impacted: Appsmith server instances.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | com.appsmith:interfaces | all versions | 1.99com.appsmith:interfaces:1.99 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for com.appsmith:interfaces, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update com.appsmith:interfaces to 1.99 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-h8cj-hpmg-636v is resolved across your whole dependency graph.
Workarounds
Until you can upgrade, make sure every query built from user input uses parameterised statements or a prepared-statement API rather than string concatenation, and reduce the database account's privileges so an injected query cannot read or alter data beyond what the feature needs.
Frequently Asked Questions
Is GHSA-h8cj-hpmg-636v in your dependencies?
Find it across Maven, including transitive dependencies.