/

CVE-2026-111680

Severity:

HIGH RISK

(8.3)

Authorization Bypass (CWE-639) in APIPark Team APIs

CVE-2026-111680

Deferred

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-639

Impact:

Cross-Team Resource Access and Unauthorized Modification

Severity:

HIGH RISK

(8.3)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

APIPark through 1.9.7-beta contains an authorization bypass that can let authenticated team managers access resources belonging to other teams. By supplying their own team identifier while targeting exposed service or application identifiers, an attacker may read, modify, or delete cross-team resources.

APIPark through 1.9.7-beta contains an authorization bypass that can let authenticated team managers access resources belonging to other teams. By supplying their own team identifier while targeting exposed service or application identifiers, an attacker may read, modify, or delete cross-team resources.

Affected context

The issue occurs in APIPark deployments where team managers can access service and application endpoints that accept team-related query parameters. Risk is present when authorization decisions rely on a caller-supplied team identifier without independently verifying ownership of the requested service or application. Relevant functionality includes service and application discovery and the corresponding information, modification, and deletion endpoints.

The issue occurs in APIPark deployments where team managers can access service and application endpoints that accept team-related query parameters. Risk is present when authorization decisions rely on a caller-supplied team identifier without independently verifying ownership of the requested service or application. Relevant functionality includes service and application discovery and the corresponding information, modification, and deletion endpoints.

Exploit preconditions

  • Attack surface: Authenticated APIPark service and application API endpoints
  • Required access: A valid account with team-manager privileges
  • Trigger point: Requests that supply a team identifier while targeting service or application IDs
  • Why exploitation is possible: The application may trust the supplied team context instead of confirming that the authenticated manager is authorized to access the referenced resource
  • Attack surface: Authenticated APIPark service and application API endpoints
  • Required access: A valid account with team-manager privileges
  • Trigger point: Requests that supply a team identifier while targeting service or application IDs
  • Why exploitation is possible: The application may trust the supplied team context instead of confirming that the authenticated manager is authorized to access the referenced resource

Why this happens

The underlying flaw is an authorization decision based on user-controlled team context rather than on the authenticated principal's effective permissions. When resource ownership is not independently checked against the requested service or application, a valid manager can cross a tenant or team boundary by changing an identifier in the request. This behavior maps to CWE-639: Authorization Bypass Through User-Controlled Key.

The underlying flaw is an authorization decision based on user-controlled team context rather than on the authenticated principal's effective permissions. When resource ownership is not independently checked against the requested service or application, a valid manager can cross a tenant or team boundary by changing an identifier in the request. This behavior maps to CWE-639: Authorization Bypass Through User-Controlled Key.

Potential impact

  • An attacker may read services or applications owned by another team
  • An attacker could modify configuration or metadata belonging to another team
  • An attacker may delete cross-team services or applications
  • Confidential service and application information could be exposed
  • Dependent applications or integrations could be disrupted
  • An attacker may read services or applications owned by another team
  • An attacker could modify configuration or metadata belonging to another team
  • An attacker may delete cross-team services or applications
  • Confidential service and application information could be exposed
  • Dependent applications or integrations could be disrupted

General mitigation guidance

Mitigation should focus on enforcing authorization at the resource boundary rather than trusting client-supplied team identifiers.

Common defensive patterns include:

  • Deriving the effective team scope from the authenticated identity and server-side session or token claims
  • Verifying ownership and permitted actions for every referenced service and application
  • Applying deny-by-default, object-level authorization checks consistently across read, update, and delete operations
  • Avoiding client-controlled tenant or team selectors when the server can determine scope independently
  • Returning uniform responses that do not disclose whether unauthorized resources exist
  • Limiting team-manager privileges to the minimum required operations
  • Adding regression tests for cross-team access attempts and identifier substitution

Mitigation should focus on enforcing authorization at the resource boundary rather than trusting client-supplied team identifiers.

Common defensive patterns include:

  • Deriving the effective team scope from the authenticated identity and server-side session or token claims
  • Verifying ownership and permitted actions for every referenced service and application
  • Applying deny-by-default, object-level authorization checks consistently across read, update, and delete operations
  • Avoiding client-controlled tenant or team selectors when the server can determine scope independently
  • Returning uniform responses that do not disclose whether unauthorized resources exist
  • Limiting team-manager privileges to the minimum required operations
  • Adding regression tests for cross-team access attempts and identifier substitution

How teams detect issues like this

Organizations can look for this weakness through:

  • Static analysis and code review checks for authorization decisions based directly on query parameters or request-body team identifiers
  • Review of every service and application endpoint for server-side object ownership validation
  • Dynamic tests that replay authenticated requests with identifiers belonging to other teams
  • API gateway or policy enforcement requiring tenant context to come from trusted identity claims
  • Audit-log monitoring for repeated cross-team identifier mismatches, denied object-level requests, and unusual delete or update activity
  • Automated security review tools that flag missing object-level authorization checks

Organizations can look for this weakness through:

  • Static analysis and code review checks for authorization decisions based directly on query parameters or request-body team identifiers
  • Review of every service and application endpoint for server-side object ownership validation
  • Dynamic tests that replay authenticated requests with identifiers belonging to other teams
  • API gateway or policy enforcement requiring tenant context to come from trusted identity claims
  • Audit-log monitoring for repeated cross-team identifier mismatches, denied object-level requests, and unusual delete or update activity
  • Automated security review tools that flag missing object-level authorization checks

Sources

SourceLink
github.comgithub.com/APIParkLab/APIPark
github.comgithub.com/APIParkLab/APIPark/blob/v1.9.7-beta/module/permit/team/iml.go#L70-L78
github.comgithub.com/APIParkLab/APIPark/blob/v1.9.7-beta/plugins/core/service.go#L16-L40
hackmd.iohackmd.io/@hieuPenguinnn/apipark-cross-team-service-app-authz-bypass
vulncheck.comvulncheck.com/advisories/apipark-through-1.9.7-beta-cross-team-authorization-bypass-via-team-query-parameter

Frequently asked

questions

Yes. It can be exercised through reachable APIPark API endpoints, provided the attacker has the required authenticated team-manager privileges.

No. The described issue requires a valid manager account in one team and knowledge of, or access to, target service or application identifiers.

Enforce object-level authorization on the server for every requested resource, using the authenticated principal's trusted team scope rather than a caller-supplied team parameter.

Use deny-by-default authorization, centralize ownership checks, test cross-tenant access in CI and security reviews, and monitor for identifier mismatches in API activity.

Yes. It can be exercised through reachable APIPark API endpoints, provided the attacker has the required authenticated team-manager privileges.

No. The described issue requires a valid manager account in one team and knowledge of, or access to, target service or application identifiers.

Enforce object-level authorization on the server for every requested resource, using the authenticated principal's trusted team scope rather than a caller-supplied team parameter.

Use deny-by-default authorization, centralize ownership checks, test cross-tenant access in CI and security reviews, and monitor for identifier mismatches in API activity.

Find out what's already
exploitable in your codebase.