Skip to content
Heist/ feed
UnratedFix available

scim-patch: Mutation of Inherited Built-in Method Objects

Type: advisorySource: OSV1 source record

## Summary Incomplete Prototype Pollution Fix Allows Mutation of Inherited Built-in Method Objects `scim-patch` blocks direct dangerous path segments such as `__proto__`, `constructor`, and `prototype`, but still traverses inherited properties when applying SCIM patch paths. An attacker who controls a SCIM PATCH operation can use paths such as `toString.polluted` to mutate shared built-in function objects, for example `Object.prototype.toString`. ## Impact A malicious patch can add attacker-controlled properties to inherited built-in method objects. The impact is narrower than direct `Object.prototype` pollution, but the mutation is process-global and may affect application logic that reads properties from inherited methods. ## Details Affected code paths: - `navigate()` reads inherited properties via `schema[subPath]` - `assign()` uses `key in obj`, which treats inherited properties as existing Because inherited keys are followed, safe-looking path segments such as `toString` can resolve to shared built-in objects. ## PoC ```js const assert = require("node:assert/strict"); const { scimPatch } = require("./lib/src/scimPatch"); const victim = { schemas: ["urn:ietf:params:scim:schemas:core:2.0:User"], userName: "alice", active: true, emails: [{ value: "alice@example.com", primary: true }], meta: { created: "x", lastModified: "x", resourceType: "User" } }; try { assert.equal(({}).toString.scimPatchPolluted, undefined); scimPatch(victim, [ { op: "add", path: "toString.scimPatchPo

Announced Group revision 1
Original source ↗

GHSA-2mhw-wcx5-v3xj

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-2mhw-wcx5-v3xj

scim-patch

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
0.9.2

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "0.9.2"
          }
        ]
      }
    ],
    "package": {
      "name": "scim-patch",
      "purl": "pkg:npm/scim-patch",
      "ecosystem": "npm"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-2mhw-wcx5-v3xj/GHSA-2mhw-wcx5-v3xj.json"
    }
  }
]
Related CVEs
CVE-2026-61834

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Event
#22490 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement