{"id":"GHSA-h8cj-hpmg-636v","aliases":[],"status":"published","title":"appsmith has SQL Injection in FilterDataService via Unsafe DROP TABLE Execution","description":"### Summary\nA 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.\n\n### Details\nThe vulnerability is located in `app/server/appsmith-interfaces/src/main/java/com/appsmith/external/services/ce/FilterDataServiceCE.java`.\n\nLine 627 in `dropTable` method:\n```java\npublic void dropTable(String tableName) {\n    String dropTableQuery = \"DROP TABLE \" + tableName + \";\";\n    executeDbQuery(dropTableQuery);\n}\n```\n\nThe `tableName` argument is concatenated directly into the SQL string without validation or escaping.\n\n### PoC\nIf `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:\n`valid_table; DROP TABLE users; --`\n\nThe resulting query would be:\n`DROP TABLE valid_table; DROP TABLE users; --;`\n\nThis would delete the intended table and then delete the `users` table (or execute any other injected SQL).\n\n### Impact\n*   **Type:** SQL Injection\n*   **Impact:** Data Loss (Drop Table), potentially Data Exfiltration or Modification depending on database permissions.\n*   **Who is impacted:** Appsmith server instances.","severity":{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-89"],"published":"2026-04-29T20:59:45Z","modified":"2026-05-05T16:07:07Z","fixes":[{"ecosystem":"Maven","package":"com.appsmith:interfaces","fixed_in":["1.99"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"com.appsmith:interfaces","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.98"},{"fixed":"1.99"}]}]},{"source":"osv","ecosystem":"Maven","package":"com.appsmith:interfaces","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.99"}]}]}],"references":[{"url":"https://github.com/appsmithorg/appsmith/security/advisories/GHSA-h8cj-hpmg-636v","tags":["web"]},{"url":"https://github.com/appsmithorg/appsmith/commit/c8023ba4b3b54204ff3309c9e5c33664ad15ba32","tags":["web"]},{"url":"https://github.com/advisories/GHSA-h8cj-hpmg-636v"},{"url":"https://github.com/appsmithorg/appsmith","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-h8cj-hpmg-636v","title":"appsmith has SQL Injection in FilterDataService via Unsafe DROP TABLE Execution","description":"### Summary\nA 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.\n\n### Details\nThe vulnerability is located in `app/server/appsmith-interfaces/src/main/java/com/appsmith/external/services/ce/FilterDataServiceCE.java`.\n\nLine 627 in `dropTable` method:\n```java\npublic void dropTable(String tableName) {\n    String dropTableQuery = \"DROP TABLE \" + tableName + \";\";\n    executeDbQuery(dropTableQuery);\n}\n```\n\nThe `tableName` argument is concatenated directly into the SQL string without validation or escaping.\n\n### PoC\nIf `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:\n`valid_table; DROP TABLE users; --`\n\nThe resulting query would be:\n`DROP TABLE valid_table; DROP TABLE users; --;`\n\nThis would delete the intended table and then delete the `users` table (or execute any other injected SQL).\n\n### Impact\n*   **Type:** SQL Injection\n*   **Impact:** Data Loss (Drop Table), potentially Data Exfiltration or Modification depending on database permissions.\n*   **Who is impacted:** Appsmith server instances.","status":"published","published":"2026-04-29T20:59:45Z","modified":"2026-04-29T20:59:45Z","cvss":[{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:39:59.776263Z"}],"osv":[{"id":"GHSA-h8cj-hpmg-636v","title":"appsmith has SQL Injection in FilterDataService via Unsafe DROP TABLE Execution","description":"### Summary\nA 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.\n\n### Details\nThe vulnerability is located in `app/server/appsmith-interfaces/src/main/java/com/appsmith/external/services/ce/FilterDataServiceCE.java`.\n\nLine 627 in `dropTable` method:\n```java\npublic void dropTable(String tableName) {\n    String dropTableQuery = \"DROP TABLE \" + tableName + \";\";\n    executeDbQuery(dropTableQuery);\n}\n```\n\nThe `tableName` argument is concatenated directly into the SQL string without validation or escaping.\n\n### PoC\nIf `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:\n`valid_table; DROP TABLE users; --`\n\nThe resulting query would be:\n`DROP TABLE valid_table; DROP TABLE users; --;`\n\nThis would delete the intended table and then delete the `users` table (or execute any other injected SQL).\n\n### Impact\n*   **Type:** SQL Injection\n*   **Impact:** Data Loss (Drop Table), potentially Data Exfiltration or Modification depending on database permissions.\n*   **Who is impacted:** Appsmith server instances.","status":"published","published":"2026-04-29T20:59:45Z","modified":"2026-05-05T16:07:07.369139Z","cvss":[{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:48.920784Z"}]}}
