TMA-MSSQL-6.1
Ensure Database and Application User Input is Sanitized
Description
Always validate user input received from a database client or application by testing type, length, format, and range prior to transmitting it to the database server.
How it is checked
Audit method: Manual review
This recommendation cannot be checked automatically. A scan lists it with these instructions when you pass --include-manual.
Check with the application teams to ensure any database interaction is through the use of stored procedures and not dynamic SQL. Revoke any INSERT, UPDATE, or DELETE privileges to users so that modifications to data must be done through stored procedures. Verify that there's no SQL query in the application code produced by string concatenation.
How it is fixed
Fix method: Guidance or infrastructure patch
The following steps can be taken to remediate SQL injection vulnerabilities: ; Review TSQL and application code for SQL Injection ; Only permit minimally privileged accounts to send user input to the server ; Minimize the risk of SQL injection attack by using parameterized commands and stored procedures ; Reject user input containing binary data, escape sequences, and comment characters ; Always validate user input and do not use it directly to build SQL statements
Properties
- Operating systems
- Any
- Tags
- mssqldatabasemanual
- Reference
- CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 6.1 Ensure Database and Application User Input is Sanitized