Check: SRG-APP-000447-API-001035
Application Programming Interface (API) SRG:
SRG-APP-000447-API-001035
(in version v1 r1)
Title
The API must provide input validation. (Cat II impact)
Discussion
A common vulnerability of applications is unpredictable 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.
Check Content
Verify the API provides input validation. Review the API documentation and interview the API administrator. Review the API's input handling mechanisms at all exposed endpoints. Identify all points where user input is accepted, including query parameters, headers, body content, and path variables. Verify that input validation is implemented to enforce expected formats, data types, ranges, and lengths. Ensure validation occurs on the server side, regardless of any client-side checks. Check for validation against known-safe patterns or whitelists (e.g., regex, enumerated values) and proper rejection of malformed or unexpected input. If input validation is missing, insufficient, or only enforced on the client side, this is a finding.is is a finding.
Fix Text
Follow best practice when accepting user input and verify all input is validated before the API processes the input. Remediate identified vulnerabilities and obtain documented risk acceptance for those issues that cannot be remediated immediately.
Additional Identifiers
Rule ID: SV-274715r1143753_rule
Vulnerability ID: V-274715
Group Title: SRG-APP-000447
Expert Comments
CCIs
| Number | Definition |
|---|---|
| CCI-002754 |
Verify that the system behaves in a predictable and documented manner that reflects organizational and system objectives when invalid inputs are received. |
Controls
| Number | Title |
|---|---|
| SI-10(3) |
Predictable Behavior |