Skip to main content

Soft Machine EUVDEUVD-2026-90190

| CVE-2026-55176 CRITICAL
Incorrect Authorization (CWE-863)
2026-09-30 GitHub_M
9.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as paying tenant with shell
  2. Delivery
    Read CONTAINER_SHARED_SECRET from workspace env
  3. Exploit
    Send bearer-authed request to victim workspace API
  4. Execution
    Bypass workspaceTokenMatches ownership check
  5. Impact
    Read/write/restore cross-tenant data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must be an authenticated paying tenant (PR:L) running Soft Machine version 0.2.247 or earlier, with access to a workspace shell where the global CONTAINER_SHARED_SECRET is readable from the user-facing process environment. Exploitation consists of presenting that shared secret as a bearer token to another tenant's workspace HTTP API, which verifyContainerAuth() and authenticateWorkspaceHttp() accept without validating workspace ownership (the workspaceTokenMatches per-workspace check is bypassed entirely on the shared-secret path). Limiting factors: requires a valid (paid) account, adjacent/internal network reachability to the target workspace API (AV:A), and no user interaction; no patch is available, so only mitigations like rotating/segregating secrets or restricting the internal API apply.

Impact

This is a genuine high-priority multi-tenancy isolation failure, not an inflated CVSS number. The CWE-863 (improper authorization) flaw lets any authenticated tenant present the globally-shared CONTAINER_SHARED_SECRET as a bearer token to reach ANY other tenant's workspace API, yielding cross-workspace read, write, and destructive-restore primitives - hence the S:C (scope change) and full C:H/I:H/A:H that drive the 9.0 base score. The exploitation barrier is low once inside the platform: AC:L and PR:L mean any paying customer with a workspace shell (where the secret is already exposed in the process environment) can weaponize it with trivial effort. Tempering factors: AV:A limits reach to the platform's internal/adjacent network rather than the open Internet, and PR:L requires a valid (paid) account. No EPSS score, CISA KEV entry, or public POC was provided, so exploitation is 'no public exploit identified at time of analysis' - but the trivial mechanics (reuse an already-readable environment secret) mean a working exploit is cheap to develop. One signal to verify: the vendor selected AV:A, yet a workspace-to-workspace HTTP API call could arguably be AV:N depending on network topology - confirm with the vendor whether the API is exposed beyond the internal Fly network. Notably, there is no patch at publication, so no remediation floor exists.

Exploit ScenarioDerived

A paying customer opens a shell in their own Soft Machine workspace and reads CONTAINER_SHARED_SECRET from the process environment. They send an HTTP request to another tenant's workspace API endpoint using that secret as a bearer token; verifyContainerAuth()/authenticateWorkspaceHttp() accept it without checking workspace ownership, granting read/write and destructive-restore access to the victim tenant's data. No public exploit code is known, but the attack requires only a valid paid account and basic HTTP tooling.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

Cross-workspace authentication bypass in Soft Machine 0.2.247 and earlier lets an authenticated paying tenant read, modify, and destructively restore another tenant's workspace through its HTTP API. Two helper functions in /app/server.js, verifyContainerAuth() and authenticateWorkspaceHttp(), accept the app-wide CONTAINER_SHARED_SECRET as a bearer token without validating which workspace the caller owns, bypassing the per-workspace workspaceTokenMatches check; because that secret is identical on every container and readable from the tenant's own process environment, the multi-tenancy isolation boundary collapses. Exploitation requires a valid paid account, adjacency to the target workspace API (AV:A), and no user interaction; no public exploit has been identified at time of analysis and no vendor-released patch is available, so this is assessed at CVSS 9.0 as a genuine high-priority multi-tenancy isolation failure.

RemediationAI

No vendor-released patch identified at time of analysis; only the GitHub advisory GHSA-63gh-vp9f-vxhj at https://github.com/Soft-Machine-io/security/security/advisories/GHSA-63gh-vp9f-vxhj is available for tracking. Until a patched version is published, apply compensating controls that break the shared-secret path. First, rotate the CONTAINER_SHARED_SECRET so it is unique per workspace rather than identical across every container, which prevents one tenant's secret from authenticating to another workspace, at the cost of reworking any legitimate cross-container orchestration and sequencing the rolling rotation carefully to avoid disrupting live containers. Second, remove or scrub CONTAINER_SHARED_SECRET from the user-facing process environment inside each workspace so tenants cannot read it from their shell, with the trade-off that internal tooling or agents expecting the variable will fail until moved to an operator-only injection path. Third, enforce network-level restrictions on the intra-Fly workspace HTTP API so a workspace container can reach only the workspace APIs it owns, blocking cross-tenant calls at the adjacency boundary, at the cost of fragmenting the service mesh and maintaining per-workspace allow-lists as tenants scale. If code changes are feasible before an official patch, add a workspace-ownership assertion to verifyContainerAuth() and authenticateWorkspaceHttp() so the shared secret is never accepted as an identity-bearing token, or at minimum gate that bearer path behind workspaceTokenMatches as the user-facing token path already is.

Affected VersionsENISA

security ≤ 0.2.247

Affected Packages

euvd security no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Soft Machine, from the Soft-Machine-io project, is a container-based virtual-machine Cloud OS that runs per-tenant agentic workspaces on the Fly.io platform. The root-cause class is CWE-863 (Incorrect Authorization): two server-side authentication helpers in /app/server.js, verifyContainerAuth() and authenticateWorkspaceHttp(), treat the global CONTAINER_SHARED_SECRET as a valid bearer credential but never bind that credential to a workspace identity. The codebase does implement a proper per-workspace check, workspaceTokenMatches, but it is only applied to the user-facing per-workspace token path; the shared-secret bearer path short-circuits that verification entirely. Because the same secret value is provisioned identically into every container in the Fly application and is reachable from the user-facing process environment inside each tenant's workspace, any tenant with shell access effectively holds the credential needed to authenticate to any other tenant's workspace API, yielding read, write, and destructive-restore primitives across tenants. The supplied CPE cpe:2.3:a:soft-machine-io:security:*:*:*:*:*:*:*:* covers the affected Soft Machine releases through 0.2.247. The CVSS 3.1 vector AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H is consistent with the assessed prerequisites: an authenticated low-privileged tenant account, adjacent network reachability to the target workspace API, no user interaction, and scope change across tenant boundaries with high confidentiality, integrity, and availability impact.

Know when Security gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.0 CRITICAL
AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.0 CRITICAL

Authenticated tenant (PR:L) reuses an internal shared secret (AC:L, AV:A) to cross the workspace trust boundary (S:C), gaining full read/write/restore over another tenant (C:H/I:H/A:H).

3.1 AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

Soft Machine is a Virtual Machine-based agentic development environment / Cloud OS. In versions 0.2.247 and prior, two authentication helpers in /app/server.js - verifyContainerAuth() and authenticateWorkspaceHttp() - accept the global CONTAINER_SHARED_SECRET as a bearer token without verifying which workspace the caller belongs to. Because that secret is set identically on every container in the Fly app and is reachable from the user-facing process environment inside each workspace, any tenant can use it to authenticate to any other tenant's workspace API. The result is cross-workspace read, write, and destructive-restore primitives reachable from any paying customer's shell. The existing per-workspace token check (workspaceTokenMatches) protects the user-facing per-workspace token path, but the shared-secret bearer path bypasses it entirely. At time of publication, there are no publicly known patches.

Technical POC Analysis

CWE-863 Incorrect Authorization.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Soft Machine 0.2.247 and earlier contains a critical multi-tenancy isolation flaw that allows any paying tenant to access, alter, or destructively restore other tenants' workspaces via the product's HTTP API. Because the shared container secret is identical across all deployments and exposed to tenant environments, a single malicious customer could compromise the confidentiality, integrity, and availability of every other customer's data. Leadership should treat this as a severe business risk requiring immediate containment and a strategic review of the platform's tenancy architecture.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: rotate CONTAINER_SHARED_SECRET to unique per-container values and remove it from tenant environments; restrict network access to the workspace HTTP API to trusted management networks only (AV:A adjacency); implement a temporary authorization layer that enforces per-workspace ownership checks before API operations; enable detailed audit logging and monitor for cross-workspace access attempts; and isolate tenants at the network or container level where feasible.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche cloud-hosted agentic dev platform, limited paying-customer footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +45
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2024-0353 HIGH POC
7.8 Feb 15

Local privilege escalation vulnerability potentially allowed an attacker to misuse ESET’s file operations to delete file

CVE-2018-12636 HIGH POC
7.2 Jun 22

The iThemes Security (better-wp-security) plugin before 7.0.3 for WordPress allows SQL Injection (by attackers with Admi

CVE-2024-1619 HIGH
8.8 Feb 29

Kaspersky has fixed a security issue in the Kaspersky Security 8.0 for Linux Mail Server. Rated high severity (CVSS 8.8)

CVE-2023-5594 HIGH
8.6 Dec 21

Improper validation of the server’s certificate chain in secure traffic scanning feature considered intermediate certifi

CVE-2026-46711 HIGH
8.3 Sep 30

Cross-tenant data disclosure in Soft Machine workspaces running version 0.2.247 and prior lets any peer Fly Machine on t

CVE-2023-3160 HIGH
7.8 Aug 14

The vulnerability potentially allows an attacker to misuse ESET’s file operations during the module update to delete or

CVE-2022-34893 HIGH
7.8 Sep 19

Trend Micro Security 2022 (consumer) has a link following vulnerability where an attacker with lower privileges could ma

CVE-2022-30703 HIGH
7.8 Jun 09

Trend Micro Security 2021 and 2022 (Consumer) is vulnerable to an exposed dangerous method vulnerability that could allo

CVE-2018-7433 HIGH
7.5 Mar 02

The iThemes Security plugin before 6.9.1 for WordPress does not properly perform data escaping for the logs page. Rated

CVE-2022-35234 HIGH
7.1 Jul 30

Trend Micro Security 2021 and 2022 (Consumer) is vulnerable to an Out-Of-Bounds Read Information Disclosure Vulnerabilit

CVE-2022-27167 HIGH
7.1 May 10

Privilege escalation vulnerability in Windows products of ESET, spol. Rated high severity (CVSS 7.1), this vulnerability

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy