The MySQL Database Server 8.0 and associated applications, when making use of dynamic code execution, must scan input data for invalid values that may indicate a code injection attack.
Overview
| Finding ID | Version | Rule ID | IA Controls | Severity |
| V-235158 | MYS8-00-007500 | SV-235158r961158_rule | CCI-001310 | medium |
| Description | ||||
| With respect to database management systems, one class of threat is known as SQL Injection, or more generally, code injection. It takes advantage of the dynamic execution capabilities of various programming languages, including dialects of SQL. In such cases, the attacker deduces the manner in which SQL statements are being processed, either from inside knowledge or by observing system behavior in response to invalid inputs. When the attacker identifies scenarios where SQL queries are being assembled by application code (which may be within the database or separate from it) and executed dynamically, the attacker is then able to craft input strings that subvert the intent of the query. Potentially, the attacker can gain unauthorized access to data, including security settings, and severely corrupt or destroy the database. The principal protection against code injection is not to use dynamic execution except where it provides necessary functionality that cannot be utilized otherwise. Use strongly typed data items rather than general-purpose strings as input parameters to task-specific, pre-compiled stored procedures and functions (and triggers). When dynamic execution is necessary, ways to mitigate the risk include the following, which should be implemented both in the on-screen application and at the database level, in the stored procedures: -- Allow strings as input only when necessary. -- Rely on data typing to validate numbers, dates, etc. Do not accept invalid values. If substituting other values for them, think carefully about whether this could be subverted. -- Limit the size of input strings to what is truly necessary. -- If single quotes/apostrophes, double quotes, semicolons, equal signs, angle brackets, or square brackets will never be valid as input, reject them. -- If comment markers will never be valid as input, reject them. In SQL, these are -- or /* */ -- If HTML and XML tags, entities, comments, etc., will never be valid, reject them. -- If wildcards are present, reject them unless truly necessary. In SQL these are the underscore and the percentage sign, and the word "ESCAPE" is also a clue that wildcards are in use. -- If SQL key words, such as SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, ESCAPE, UNION, GRANT, REVOKE, DENY, MODIFY will never be valid, reject them. Use case-insensitive comparisons when searching for these. Bear in mind that some of these words, particularly Grant (as a person's name), could also be valid input. -- If there are range limits on the values that may be entered, enforce those limits. -- Institute procedures for inspection of programs for correct use of dynamic coding, by a party other than the developer. -- Conduct rigorous testing of program modules that use dynamic coding, searching for ways to subvert the intended use. -- Record the inspection and testing in the system documentation. -- Bear in mind that all this applies not only to screen input, but also to the values in an incoming message to a web service or to a stored procedure called by a software component that has not itself been hardened in these ways. Not only can the caller be subject to such vulnerabilities; it may itself be the attacker. The MySQL Firewall runs within the MySQL server and enables database administrators to permit or deny SQL statement execution based on matching against whitelists of accepted statement patterns. This hardens MySQL Server against attacks such as SQL injection or attempts to exploit applications by using them outside of their legitimate query workload characteristics. | ||||
| STIG | Date | |||
| Oracle MySQL 8.0 Security Technical Implementation Guide | 2024-09-04 | |||
Related Frameworks
1 mapping across 4 frameworks
Related Frameworks
SCF0 mappings
No source states a mapping between these directly.
Also reachable in 3 hops (6) derived by us, not asserted by any source
Each of these is a route we composed by chaining published mappings. No publisher states a relationship between the two endpoints.
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- NIST OLIR Informative ReferenceOLIR 186 (2025-11-17)intersects(normalised)
- NIST OLIR Informative ReferenceOLIR 153 (2025-04-07)intersects(normalised)SCF Focal Document mapping (catalog)SCF 2026.2 focalintersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- NIST OLIR Informative ReferenceOLIR 186 (2025-11-17)intersects(normalised)
- NIST OLIR Informative ReferenceOLIR 153 (2025-04-07)intersects(normalised)SCF Focal Document mapping (catalog)SCF 2026.2 focalintersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- NIST OLIR Informative ReferenceOLIR 186 (2025-11-17)intersects(normalised)
- NIST OLIR Informative ReferenceOLIR 153 (2025-04-07)intersects(normalised)SCF Focal Document mapping (catalog)SCF 2026.2 focalintersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- NIST OLIR Informative ReferenceOLIR 186 (2025-11-17)intersects(normalised)
- NIST OLIR Informative ReferenceOLIR 153 (2025-04-07)intersects(normalised)SCF Focal Document mapping (catalog)SCF 2026.2 focalintersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- SCF Secure Traceability Relationship Mapping (STRM)2026.2intersects
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- SCF Secure Traceability Relationship Mapping (STRM)2026.2intersects
NIST 800-530 mappings
No source states a mapping between these directly.
Also reachable in 2 hops (11) derived by us, not asserted by any source
Each of these is a route we composed by chaining published mappings. No publisher states a relationship between the two endpoints.
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R1our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R1intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R1our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R1intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R1our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R1intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
+1 more (top 10 by confidence shown)
CCI1 mapping
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
NIST CSF 2.00 mappings
No source states a mapping between these directly.
Also reachable in 3 hops (1) derived by us, not asserted by any source
Each of these is a route we composed by chaining published mappings. No publisher states a relationship between the two endpoints.
- DISA STIG Benchmark (XCCDF)V2R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- NIST OLIR Informative ReferenceOLIR 131 (2025-12-12)intersects(normalised)NIST OLIR Informative ReferenceOLIR 186 (2025-11-17)intersects(normalised)
Who does this work
7 NICE work roles and 7 EC-Council certifications.
Who does this work
7 NICE work roles and 7 EC-Council certifications.
This is an inference across published mappings, not a single claim by anyone. This check maps to a control, which maps to a Cybersecurity Framework outcome, which NIST assigns to the work roles below. EC-Council separately maps its certifications to those same roles.
A certification prepares someone for a role. It is not evidence that a holder is qualified, and neither NIST nor EC-Council has stated that any certification here addresses this check.
- DD-WRL-003Secure Software Development
- DD-WRL-004Secure Systems Development
- DD-WRL-007Systems Testing and Evaluation
- IO-WRL-002Database Administration
- IO-WRL-005Systems Administration
- IO-WRL-006Systems Security Analysis
- PD-WRL-001Defensive Cybersecurity
Work-role assignments published by NIST (NICE Framework Components 2.2.0 and the CSF 2.0 OLIR crosswalk). Certification mappings published by EC-Council.