/

CVE-2026-63116

Severity:

HIGH RISK

(8.8)

Authorization Bypass (CWE-862) in deepstream Records

CVE-2026-63116

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862

Impact:

Unauthorized modification of protected records

Severity:

HIGH RISK

(8.8)

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

A missing permission mapping for the PATCH_MULTI record operation in deepstream causes configured authorization checks to treat the operation as allowed. An authenticated user may therefore modify protected records, potentially corrupting application state or disrupting service operations when the config permission type is used.

Affected context

The vulnerability occurs in deepstream deployments using the configured permission type and supporting PATCH_MULTI record operations. The affected authorization path omits PATCH_MULTI from its rule mapping, allowing the permission layer to receive no rule specification; deployments using the default permission type none already permit all operations and are not additionally affected by this specific omission.

Exploit preconditions

  • Attack surface: Authenticated deepstream record-operation endpoint
  • Required access: A valid authenticated user account capable of issuing record operations
  • Trigger point: Sending a PATCH_MULTI operation against a protected record while configured permissions are enabled
  • Why exploitation is possible: The operation is absent from the authorization rule map, and a missing rule specification is interpreted as an unconditional allow rather than being evaluated against the required write rule

Why this happens

The underlying bug is an incomplete authorization rule mapping. PATCH_MULTI is omitted from RULES_MAP, causing the permission lookup to return a null specification; ConfigPermission.canPerformAction then fails open instead of denying the action or applying RULE_TYPES.WRITE. This behavior maps to CWE-862: Missing Authorization, because a protected operation is permitted without the intended authorization decision.

Potential impact

  • An authenticated user could modify arbitrary protected records
  • Application state may be corrupted or tampered with
  • Downstream services may consume unauthorized or inconsistent data
  • Service availability could be reduced through disruptive record changes
  • Data integrity and trust in synchronized state could be weakened

General mitigation guidance

Mitigation generally focuses on making authorization complete, explicit, and fail-closed.

Common defensive patterns include:

  • Maintain an explicit authorization rule for every supported record operation
  • Treat missing, null, or unknown rule specifications as denied by default
  • Reuse the strictest applicable permission rule for bulk and multi-record actions
  • Validate authorization decisions independently of operation-to-rule mapping
  • Limit authenticated users to the least-privileged record scopes and actions they require
  • Add regression tests covering every operation and permission type, including unmapped-action cases

How teams detect issues like this

Organizations can detect similar authorization gaps through:

  • Static analysis and schema checks that compare supported operations with authorization rule definitions
  • Code review searches for missing map entries, nullable permission results, and fail-open branches
  • Automated tests asserting denial for unknown, unmapped, or unsupported actions
  • Policy enforcement requiring explicit authorization decisions for every externally reachable operation
  • Audit-log monitoring for PATCH_MULTI requests affecting records outside a user's permitted scope

Neutral automated code review and security testing tools may help identify incomplete authorization coverage.

Sources

SourceLink
github.comgithub.com/deepstreamIO/deepstream.io/commit/1c2adde6581c53ef47e204364bc740bc3c2e2e2a
github.comgithub.com/deepstreamIO/deepstream.io/releases/tag/v10.1.1
github.comgithub.com/deepstreamIO/deepstream.io/security/advisories/GHSA-89vx-jh4q-vg3w

Frequently asked

questions

Yes, within a deployment that exposes the affected record-operation interface. Exploitation requires an authenticated user who can submit PATCH_MULTI requests.

No. A regular authenticated account may be sufficient if it can reach the record operation; the missing authorization check can permit changes beyond that account's intended scope.

Ensure every supported operation has an explicit permission rule and make missing or unknown rules deny access by default.

Maintain operation-to-rule coverage tests, review authorization mappings as part of API changes, enforce least privilege, and monitor audit logs for anomalous record modifications.

Find out what's already
exploitable in your codebase.