When invalid inputs are received, MariaDB must behave in a predictable and documented manner that reflects organizational and system objectives.
Severity | Group ID | Group Title | Version | Rule ID | Date | STIG Version |
---|---|---|---|---|---|---|
medium | V-253743 | SRG-APP-000447-DB-000393 | MADB-10-009100 | SV-253743r961656_rule | 2024-12-05 | 2 |
Description |
---|
A common vulnerability is unplanned behavior when invalid inputs are received. This requirement guards against adverse or unintended system behavior caused by invalid inputs, where information system responses to the invalid input may be disruptive or cause the system to fail into an unsafe state. The behavior will be derived from the organizational and system requirements and includes, but is not limited to, notification of the appropriate personnel, creating an audit record, and rejecting invalid input. This calls for inspection of application source code, which will require collaboration with the application developers. It is recognized that in many cases, the database administrator (DBA) is organizationally separate from the application developers, and may have limited, if any, access to source code. Nevertheless, protections of this type are so important to the secure operation of databases that they must not be ignored. At a minimum, the DBA must attempt to obtain assurances from the development organization that this issue has been addressed and must document what has been discovered. |
ℹ️ Check |
---|
As the database administrator, make a small SQL syntax error by running the following: MariaDB> CREAT TABLEincorrect_syntax(id INT) ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near CREAT TABLEincorrect_syntax(id INT) at line 1 Now verify the syntax error was logged (change the log file name and part to suit the circumstances): $ cat $DATADIR/sql_errors.log 2019-09-05 14:31:22 root[root] @ localhost [] ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near CREAT TABLEincorrect_syntax(id INT) at line 1 : CREAT TABLEincorrect_syntax(id INT) Review security guide to determine how input errors from application to MariaDB are to be handled in general and if any special handling is defined for specific circumstances. If it does not implement the documented behavior, this is a finding. |
✔️ Fix |
---|
All errors and denials are logged to the sql errorlog. If the sql error log does not exist, install the sql error log plugin as follows: MariaDB> INSTALL SONAME 'sql_errlog'; The error log should by default be located as sql_errors.log within the data directory (/var/lib/mysql by default). |