Go · github.com/blnkfinance/blnk
Blnk has an API key authorization bypass in owner and scope enforcement
Blnk API key endpoints had an authorization issue that allowed non-master API keys to perform key-management actions outside their intended authorization boundary.
In affected versions, API key operations trusted caller-controlled request values for owner and scope decisions. As a result, a non-master API key could potentially manage keys for another owner by supplying a different owner value, or create a more privileged API key by requesting broader scopes than it already had.
This has been fixed by deriving the effective owner from the authenticated API key and enforcing scope coverage checks when creating new keys.
The API key authorization flow previously trusted request data supplied by the caller when deciding which owner a key-management operation applied to and which scopes could be granted.
This meant a non-master API key could potentially:
The patched version changes this behavior for non-master API keys:
403 ForbiddenA non-master API key with access to API key management endpoints could potentially perform unauthorized key-management operations across owners or escalate its permissions by creating a new API key with broader scopes.
Deployments using API keys for programmatic key creation, listing, or revocation should upgrade.
Versions up to and including v0.14.2 are affected.
This issue is fixed in v0.14.3.
Users should upgrade to v0.14.3 or later.
If developers cannot upgrade their applications immediately, restrict access to API key management endpoints to trusted master keys only.
Where possible, disable or block non-master API key access to key creation, listing, and revocation endpoints until the patched version is deployed.
Blank thanks @Shivam8584 for identifying and fixing this issue.
Is your project exposed to this? Stateward checks every dependency on every pull request and flags it only if your code actually reaches it.
Check my repoSources: CISA KEV (public domain), OSV.dev & GitHub Advisory Database (CC-BY-4.0), FIRST EPSS, NVD/CWE (public domain). Served live from the Stateward advisory database.