Skip to content
Heist/ feed
Back to feed
High

deepstream: PATCH_MULTI action bypasses Valve permission system allowing unauthorized record writes

Type: advisorySources: OSV

deepstream is a server that allows clients and backend services to sync data, send messages and make rpcs at scale. From 10.1.0 until 10.1.1, src/services/permission/valve/rules-map.ts omits RECORD_ACTION.PATCH_MULTI from RULES_MAP. When an authenticated user sends a PATCH_MULTI record operation while permission.type is config, getRulesForMessage returns a null rule specification and ConfigPermission.canPerformAction treats the missing specification as an unconditional allow instead of applying RULE_TYPES.WRITE. Any authenticated user can therefore modify arbitrary protected records, corrupt application state, or cause service disruption; deployments using the default permission type none already allow all operations and are not additionally affected. This issue is fixed in version 10.1.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-63116
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 20:06 UTC · Revision 1

Source evidence

deepstream: PATCH_MULTI action bypasses Valve permission system allowing unauthorized record writes

core-osv · Original source

Published 21 Sept 2026, 16:59 UTC

deepstream is a server that allows clients and backend services to sync data, send messages and make rpcs at scale. From 10.1.0 until 10.1.1, src/services/permission/valve/rules-map.ts omits RECORD_ACTION.PATCH_MULTI from RULES_MAP. When an authenticated user sends a PATCH_MULTI record operation while permission.type is config, getRulesForMessage returns a null rule specification and ConfigPermission.canPerformAction treats the missing specification as an unconditional allow instead of applying RULE_TYPES.WRITE. Any authenticated user can therefore modify arbitrary protected records, corrupt application state, or cause service disruption; deployments using the default permission type none already allow all operations and are not additionally affected. This issue is fixed in version 10.1.1.

osv:CVE-2026-63116
Complete source record
{
  "id": "83e1eb56ee516c9bf1073b691799884d1954221b5a7fad0eae77929f004bed6b",
  "url": "https://osv.dev/vulnerability/CVE-2026-63116",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "deepstream: PATCH_MULTI action bypasses Valve permission system allowing unauthorized record writes",
    "summary": "deepstream is a server that allows clients and backend services to sync data, send messages and make rpcs at scale. From 10.1.0 until 10.1.1, src/services/permission/valve/rules-map.ts omits RECORD_ACTION.PATCH_MULTI from RULES_MAP. When an authenticated user sends a PATCH_MULTI record operation while permission.type is config, getRulesForMessage returns a null rule specification and ConfigPermission.canPerformAction treats the missing specification as an unconditional allow instead of applying RULE_TYPES.WRITE. Any authenticated user can therefore modify arbitrary protected records, corrupt application state, or cause service disruption; deployments using the default permission type none already allow all operations and are not additionally affected. This issue is fixed in version 10.1.1.",
    "evidence": "osv:CVE-2026-63116",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-63116",
      "aliases": [
        "CVE-2026-63116",
        "GHSA-89vx-jh4q-vg3w"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/deepstreamio/deepstream.io",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3abde8de3df91e1b6d18f719d9e38e94bfa314f6"
                },
                {
                  "fixed": "805461c7495c90ad669c103906cc3579db662905"
                },
                {
                  "fixed": "1c2adde6581c53ef47e204364bc740bc3c2e2e2a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "10.1.0"
                      },
                      {
                        "fixed": "10.1.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1c2adde6581c53ef47e204364bc740bc3c2e2e2a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "805461c7495c90ad669c103906cc3579db662905"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v10.1.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v10.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-63116.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.190832197Z",
      "provider": "osv",
      "references": [
        "https://github.com/deepstreamIO/deepstream.io/releases/tag/v10.1.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63116.json",
        "https://github.com/deepstreamIO/deepstream.io/security/advisories/GHSA-89vx-jh4q-vg3w",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-63116",
        "https://github.com/deepstreamIO/deepstream.io/commit/1c2adde6581c53ef47e204364bc740bc3c2e2e2a"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-862"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63116.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-63116",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489637,
  "published_at": "2026-09-21T16:59:22.958+00:00"
}