Numeric header has no format defined

Issue ID: response-header-numerical-format

Average severity: Low

Description

A numeric header does not have the accepted format specified.

For more details, see the OpenAPI Specification.

Example

The following is an example of how this type of risk could look in your API definition. The header type is set to integer but the format is not specified:

{
    "responses": {
        "200": {
            "description": "OK",
            "headers": {
                "x-ids": {
                    "type": "integer"
                }
            }
        }
    }
}

Possible exploit scenario

Attackers strive to make your APIs behave in an unexpected way to learn more about your system or to cause a data breach. It is unlikely that the format of numeric items can cause a significant breach, but we highly recommend that you minimize any risks and clearly specify the data that your API produces in each method.

Using your internal, company-specific formats is not currently supported.

Remediation

Define format of numeric headers. This provides an extra layer of safety ensuring that your API only returns data formats that you expect it to return.

Numeric parameters type integer can have the format int32 or int64. Numeric parameters type number can have the format float or double.

{
    "responses": {
        "200": {
            "description": "OK",
            "headers": {
                "x-ids": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        }
    }
}