For the complete documentation index, see llms.txt. This page is also available as Markdown.
Cortex CloudApplication Security

OAuth2 password flow in security definitions for OpenAPI 2.0 file misconfiguration detected in code

Rule Details

Cortex AppSec Rule ID

APPSEC_OPENAPI_11

Category - Subcategory

Public Exposure - APIs

Provider

OTHER

Severity

HIGH

Framework

OpenAPI

Impact

This rule is specifically geared towards ensuring the security of OpenAPI documents for APIs, specifically for those using OAuth2 authentication in version 2.0 files. The rule checks for the presence of 'password' flow. The usage of 'password' flow allows direct usage of usernames and passwords to obtain access tokens, circumventing stronger methods of authentication. This leaves user credentials, and by extension your API, more susceptible to cyber threats, hence it is not recommended. The rule aims to flag this as an issue in order to maintain the best security practices.

How to Fix

To fix this issue, define a securityDefinitions section in your OpenAPI specification version 2.0 file which contains scopes for OAuth according to what is provided at API level on global security section.

The above code is secure because it defines the securityDefinitions section properly. It includes both API Key and OAuth2 security schemes and references them in the security section at the root level of the API specification. Plus, OAuth2 utilizing 'implicit' flow involves scopes, and the scopes are defined at the global level, thus enforcing security at the API level. [source,go]

{ "swagger": "2.0", "info": { "version": "1.0.0", "title": "Swagger Sample API" }, "securityDefinitions": { "api_key": { "type": "apiKey", "name": "api_key", "in": "header" }, "petstore_auth": { "type": "oauth2", "authorizationUrl": "http://petstore.swagger.io/api/oauth/dialog", "flow": "implicit", "scopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } } }, "security": [ { "api_key": [] }, { "petstore_auth": [ "write:pets", "read:pets" ] } ] }

Last updated

Was this helpful?