FINERACT-2461: Replace SQL string concatenation with parameterized queries
Fix ~30 SQL injection vulnerabilities across datatable services by replacing string concatenation with JDBC parameterized queries (?). Files changed: - DatatableWriteServiceImpl: parameterized DELETE, INSERT, SELECT queries - DatatableUtil: parameterized dataScopedSQL, office join conditions - GenericDataService/Impl: added parameterized fillResultsetRowData overload - DatatableReadServiceImpl: parameterized countDatatableEntries - WriteSurveyServiceImpl: removed duplicate vulnerable getPermissionSql - DepositAccountReadPlatformServiceImpl: added pagination validation Tests added: - DatatableUtilTest: 11 tests for parameterized dataScopedSQL and joins - DatatableWriteServiceImplTest: 7 tests for parameterized CRUD queries - DatatableReadServiceImplCountTest: 1 test for parameterized count query Do good with AI. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
Adam Saghy
co-authored by
Claude Opus 4.6
parent
87e328e9e7
commit
054d18b020
+2
@@ -31,6 +31,8 @@ public interface GenericDataService {
|
||||
|
||||
List<ResultsetRowData> fillResultsetRowData(String sql, List<ResultsetColumnHeaderData> columnHeaders);
|
||||
|
||||
List<ResultsetRowData> fillResultsetRowData(String sql, List<ResultsetColumnHeaderData> columnHeaders, Object... args);
|
||||
|
||||
String generateJsonFromGenericResultsetData(GenericResultsetData grs);
|
||||
|
||||
String replace(String str, String pattern, String replace);
|
||||
|
||||
Reference in New Issue
Block a user