/

CVE-2026-55176

Severity:

CRITICAL RISK

(9.0)

Broken Access Control (CWE-863) in Soft Machine APIs

CVE-2026-55176

Deferred

Vulnerability type

Category:

Broken Access Control

CWE:

CWE-863

Impact:

Cross-Workspace Unauthorized Access and Modification

Severity:

CRITICAL RISK

(9.0)

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

Soft Machine improperly accepts a global container secret as a bearer token without confirming that the caller belongs to the requested workspace. Because the secret is shared across containers and exposed to workspace processes, a tenant may authenticate to another tenant's workspace API and perform unauthorized read, write, or destructive restore operations.

Affected context

The issue affects Soft Machine deployments using the vulnerable authentication helpers in the server component. Risk is present when the same CONTAINER_SHARED_SECRET is configured across containers, is accessible from a user-facing workspace process, and is accepted for workspace API authentication without a corresponding workspace-ownership check. The per-workspace token validation path may remain protected while the shared-secret path bypasses that control.

Exploit preconditions

  • Attack surface: Workspace HTTP APIs exposed by the Soft Machine server
  • Required access: A shell or equivalent execution capability in any paying customer's workspace
  • Credential availability: Access to the globally shared CONTAINER_SHARED_SECRET through the workspace process environment
  • Trigger point: Authentication requests handled by verifyContainerAuth() or authenticateWorkspaceHttp()
  • Why exploitation is possible: The shared-secret bearer path authenticates the request without verifying that the caller belongs to the target workspace

Why this happens

The underlying flaw is an authorization-boundary failure mapped to CWE-863: Incorrect Authorization. Authentication with a broadly shared credential is treated as sufficient authorization for workspace-specific operations, even though the credential does not identify or constrain the caller to a particular tenant. This creates an insecure pattern in which a global service secret bypasses the per-workspace authorization check.

Potential impact

  • An attacker may read data belonging to other workspaces.
  • An attacker could modify another tenant's workspace state or resources.
  • An attacker may invoke destructive restore operations against an unrelated workspace.
  • Cross-tenant activity can result in data loss, service disruption, or confidentiality breaches.
  • The shared-secret design could increase the blast radius of a compromise within one workspace.

General mitigation guidance

Mitigation generally focuses on making authorization workspace-aware on every

authentication path.

Common defensive patterns include:

  • Requiring scoped, per-workspace credentials for workspace-specific APIs.
  • Binding authenticated identities and tokens to an explicit workspace or tenant identifier.
  • Removing global shared secrets from user-facing process environments where possible.
  • Ensuring every bearer-token path performs the same workspace authorization checks as the per-workspace token path.
  • Applying least privilege to workspace API capabilities and separating read, write, and destructive operations.
  • Failing closed when workspace identity, token scope, or tenant association cannot be established.
  • Auditing existing credentials and sessions after suspected cross-workspace exposure.

How teams detect issues like this

Organizations can detect this class of issue through:

  • Static analysis and code review searches for global secrets accepted by tenant-scoped endpoints.
  • Review of authentication helpers to confirm that identity verification is followed by resource authorization.
  • Integration tests that attempt to use credentials from one workspace against another workspace's API.
  • Monitoring for cross-workspace requests, unusual restore operations, and bearer tokens reused across tenant boundaries.
  • Policy checks that prohibit unscoped credentials in multi-tenant services and prevent sensitive secrets from being exposed to user-controlled processes.

Automated application-security review tools may help identify authentication paths that lack tenant or resource authorization checks.

Sources

SourceLink
github.comgithub.com/Soft-Machine-io/security/security/advisories/GHSA-63gh-vp9f-vxhj

Frequently asked

questions

It can be exploitable through the workspace API from a tenant's shell or other

user-controlled workspace context, provided the shared secret is available to

that process and the API is reachable.

The attacker generally needs access to any participating customer workspace and

the ability to obtain or use the globally shared container secret. They do not

need legitimate membership in the target workspace.

Require every workspace API request to use a credential that is explicitly

scoped to the target workspace, and enforce that association on every

authentication path. A global secret should not substitute for tenant-specific

authorization.

Define tenant boundaries in the authorization model, keep secrets out of

user-controlled environments, test cross-tenant access during integration

reviews, and monitor for credentials used across workspace boundaries.

Find out what's already
exploitable in your codebase.