Description
Onyx 4.6.6 fails to properly restrict access to custom tool credentials stored in custom_headers, allowing any authenticated user to read admin-defined API keys. Attackers with basic authentication can call GET /tool/{tool_id} or GET /tool endpoints to retrieve plaintext authorization headers and third-party API credentials, then use them to directly access upstream APIs.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
onyx-dot-app onyx
Default version status: unaffected
0 to ≤ 4.6.6affected
References
- https://github.com/onyx-dot-app/onyx/issues/13165 ↗
- https://github.com/onyx-dot-app/onyx ↗
- https://github.com/onyx-dot-app/onyx/blob/v4.6.6/backend/onyx/server/features/tool/models.py ↗
- https://github.com/onyx-dot-app/onyx/blob/v4.6.6/backend/onyx/server/features/tool/api.py ↗
- https://www.vulncheck.com/advisories/onyx-4.6.6-custom-tool-secret-header-disclosure-via-tool-endpoints ↗