{"id":"GHSA-j26j-7qc4-3mrf","aliases":[],"status":"published","title":"OpenClaw: MS Teams fileConsent/invoke missing conversation binding allowed cross-conversation pending-upload consumption","description":"### Summary\nIn `openclaw` MS Teams file-consent flow, pending uploads were authorized by `uploadId` alone. `fileConsent/invoke` did not verify the invoke conversation against the conversation that created the pending upload.\n\n### Impact\nAn attacker who obtained a valid `uploadId` within TTL could trigger cross-conversation upload completion (accept path) or cancel a victim pending upload (decline path).\n\n### Technical Details\n- Pending uploads stored `conversationId`, but invoke handling consumed by `uploadId` only.\n- The invoke path did not enforce conversation binding before `uploadToConsentUrl(...)` and pending-upload removal.\n- Fix binds accept/decline handling to normalized conversation id match before consuming pending upload state.\n\n### Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Latest published npm version (as of February 26, 2026): `2026.2.24`\n- Vulnerable range: `\u003c= 2026.2.24`\n- Patched in release: `2026.2.25`\n\n### Remediation\nUpgrade to `openclaw` `2026.2.25` (or later) once published.\n\n### Fix Commit(s)\n- `347f7b9550064f5f5b33c6e07f64e85b9657b6f1`\n\n### Release Process Note\n`patched_versions` is pre-set to the release (`2026.2.25`). Advisory published with npm release `2026.2.25`.\n\nOpenClaw thanks @tdjackey for reporting.","severity":{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-639","CWE-862"],"published":"2026-03-03T21:36:49Z","modified":"2026-03-04T15:15:13Z","fixes":[{"ecosystem":"npm","package":"openclaw","fixed_in":["2026.2.25"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"openclaw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2026.2.24"},{"fixed":"2026.2.25"}]}]},{"source":"osv","ecosystem":"npm","package":"openclaw","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.2.25"}]}]}],"references":[{"url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-j26j-7qc4-3mrf","tags":["web"]},{"url":"https://github.com/openclaw/openclaw/commit/347f7b9550064f5f5b33c6e07f64e85b9657b6f1","tags":["web"]},{"url":"https://github.com/advisories/GHSA-j26j-7qc4-3mrf"},{"url":"https://github.com/openclaw/openclaw","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-j26j-7qc4-3mrf","title":"OpenClaw: MS Teams fileConsent/invoke missing conversation binding allowed cross-conversation pending-upload consumption","description":"### Summary\nIn `openclaw` MS Teams file-consent flow, pending uploads were authorized by `uploadId` alone. `fileConsent/invoke` did not verify the invoke conversation against the conversation that created the pending upload.\n\n### Impact\nAn attacker who obtained a valid `uploadId` within TTL could trigger cross-conversation upload completion (accept path) or cancel a victim pending upload (decline path).\n\n### Technical Details\n- Pending uploads stored `conversationId`, but invoke handling consumed by `uploadId` only.\n- The invoke path did not enforce conversation binding before `uploadToConsentUrl(...)` and pending-upload removal.\n- Fix binds accept/decline handling to normalized conversation id match before consuming pending upload state.\n\n### Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Latest published npm version (as of February 26, 2026): `2026.2.24`\n- Vulnerable range: `\u003c= 2026.2.24`\n- Patched in release: `2026.2.25`\n\n### Remediation\nUpgrade to `openclaw` `2026.2.25` (or later) once published.\n\n### Fix Commit(s)\n- `347f7b9550064f5f5b33c6e07f64e85b9657b6f1`\n\n### Release Process Note\n`patched_versions` is pre-set to the release (`2026.2.25`). Advisory published with npm release `2026.2.25`.\n\nOpenClaw thanks @tdjackey for reporting.","status":"published","published":"2026-03-03T21:36:49Z","modified":"2026-03-03T21:36:50Z","cvss":[{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-639","CWE-862"],"updated_at":"2026-11-02T14:39:30.031684Z"}],"osv":[{"id":"GHSA-j26j-7qc4-3mrf","title":"OpenClaw: MS Teams fileConsent/invoke missing conversation binding allowed cross-conversation pending-upload consumption","description":"### Summary\nIn `openclaw` MS Teams file-consent flow, pending uploads were authorized by `uploadId` alone. `fileConsent/invoke` did not verify the invoke conversation against the conversation that created the pending upload.\n\n### Impact\nAn attacker who obtained a valid `uploadId` within TTL could trigger cross-conversation upload completion (accept path) or cancel a victim pending upload (decline path).\n\n### Technical Details\n- Pending uploads stored `conversationId`, but invoke handling consumed by `uploadId` only.\n- The invoke path did not enforce conversation binding before `uploadToConsentUrl(...)` and pending-upload removal.\n- Fix binds accept/decline handling to normalized conversation id match before consuming pending upload state.\n\n### Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Latest published npm version (as of February 26, 2026): `2026.2.24`\n- Vulnerable range: `\u003c= 2026.2.24`\n- Patched in release: `2026.2.25`\n\n### Remediation\nUpgrade to `openclaw` `2026.2.25` (or later) once published.\n\n### Fix Commit(s)\n- `347f7b9550064f5f5b33c6e07f64e85b9657b6f1`\n\n### Release Process Note\n`patched_versions` is pre-set to the release (`2026.2.25`). Advisory published with npm release `2026.2.25`.\n\nOpenClaw thanks @tdjackey for reporting.","status":"published","published":"2026-03-03T21:36:49Z","modified":"2026-03-04T15:15:13.314096Z","cvss":[{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-639","CWE-862"],"updated_at":"2026-11-02T15:46:49.621585Z"}]}}
