GHSA-h8cj-hpmg-636v
HIGHappsmith has SQL Injection in FilterDataService via Unsafe DROP TABLE Execution
Blast Radius
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.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. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
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
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether GHSA-h8cj-hpmg-636v is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-h8cj-hpmg-636v. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-h8cj-hpmg-636v in your dependencies?
O3 detects GHSA-h8cj-hpmg-636v across Maven dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.