{"id":"CVE-2026-28474","aliases":["EUVD-2026-9920","GHSA-r5h9-vjqc-hq3r"],"status":"published","title":"OpenClaw Nextcloud Talk \u003c 2026.2.6 - Allowlist Bypass via actor.name Display Name Spoofing","description":"OpenClaw's Nextcloud Talk plugin versions prior to 2026.2.6 accept equality matching on the mutable actor.name display name field for allowlist validation, allowing attackers to bypass DM and room allowlists. An attacker can change their Nextcloud display name to match an allowlisted user ID and gain unauthorized access to restricted conversations.","severity":{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00553,"percentile":0.46716,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-290","CWE-863"],"published":"2026-02-17T21:36:15Z","modified":"2026-10-28T02:30:54Z","fixes":[{"ecosystem":"npm","package":"@openclaw/nextcloud-talk","fixed_in":["2026.2.6"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@openclaw/nextcloud-talk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2026.2.2"},{"fixed":"2026.2.6"}]}]},{"source":"osv","ecosystem":"npm","package":"@openclaw/nextcloud-talk","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.2.6"}]}]}],"products":[{"vendor":"openclaw","product":"nextcloud-talk"},{"vendor":"openclaw","product":"openclaw"}],"references":[{"url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-r5h9-vjqc-hq3r","tags":["vendor-advisory","Patch","Vendor Advisory","advisory","web"]},{"url":"https://github.com/openclaw/openclaw/commit/6b4b6049b47c3329a7014509594647826669892d","tags":["patch","Patch","fix","web"]},{"url":"https://www.vulncheck.com/advisories/openclaw-nextcloud-talk-allowlist-bypass-via-actorname-display-name-spoofing","tags":["third-party-advisory","Broken Link","Third Party Advisory","advisory"]},{"url":"https://github.com/openclaw/openclaw/commit/660f87278c9f292061e097441e0b10c20d62b31b","tags":["web"]},{"url":"https://github.com/openclaw/openclaw/releases/tag/v2026.2.3","tags":["web"]},{"url":"https://github.com/advisories/GHSA-r5h9-vjqc-hq3r"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/28xxx/CVE-2026-28474.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-28474","tags":["advisory"]},{"url":"https://github.com/openclaw/openclaw","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-28474","title":"OpenClaw Nextcloud Talk \u003c 2026.2.6 - Allowlist Bypass via actor.name Display Name Spoofing","description":"OpenClaw's Nextcloud Talk plugin versions prior to 2026.2.6 accept equality matching on the mutable actor.name display name field for allowlist validation, allowing attackers to bypass DM and room allowlists. An attacker can change their Nextcloud display name to match an allowlisted user ID and gain unauthorized access to restricted conversations.","status":"published","published":"2026-03-05T21:59:49.849Z","modified":"2026-09-17T17:54:15.431Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical","assessor":"cna"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:20:01.969981Z"}],"euvd":[{"id":"EUVD-2026-9920","description":"OpenClaw's Nextcloud Talk plugin versions prior to 2026.2.6 accept equality matching on the mutable actor.name display name field for allowlist validation, allowing attackers to bypass DM and room allowlists. An attacker can change their Nextcloud display name to match an allowlisted user ID and gain unauthorized access to restricted conversations.","status":"published","published":"2026-03-05T21:59:49Z","modified":"2026-09-17T17:54:15Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"updated_at":"2026-11-02T17:28:10.833571Z"}],"ghsa":[{"id":"GHSA-r5h9-vjqc-hq3r","title":"Nextcloud Talk allowlist bypass via actor.name display name spoofing","description":"## Summary\n\nIn affected versions of the optional Nextcloud Talk plugin (installed separately; not bundled with the core OpenClaw install), an untrusted webhook field (`actor.name`, display name) could be treated as an allowlist identifier. An attacker could change their Nextcloud display name to match an allowlisted user ID and bypass DM or room allowlists.\n\n## Details\n\nNextcloud Talk webhook payloads provide a stable sender identifier (`actor.id`) and a mutable display name (`actor.name`). In affected versions, the plugin’s allowlist matching accepted equality on the display name, which is attacker-controlled.\n\n## Affected Packages / Versions\n\n- Package: `@openclaw/nextcloud-talk` (npm)\n- Affected: `\u003c= 2026.2.2`\n- Fixed: `\u003e= 2026.2.6`\n\nNote: This advisory applies to the optional Nextcloud Talk plugin package. Core `openclaw` is not impacted unless you installed and use `@openclaw/nextcloud-talk`.\n\n## Fix Commit(s)\n\n- [6b4b6049b47c3329a7014509594647826669892d](https://github.com/openclaw/openclaw/commit/6b4b6049b47c3329a7014509594647826669892d)\n\n## Timeline\n\n- Introduced: [660f87278c9f292061e097441e0b10c20d62b31b](https://github.com/openclaw/openclaw/commit/660f87278c9f292061e097441e0b10c20d62b31b) (2026-01-20)\n- Fixed in repo: [6b4b6049b47c3329a7014509594647826669892d](https://github.com/openclaw/openclaw/commit/6b4b6049b47c3329a7014509594647826669892d) (2026-02-04 UTC)\n- First fixed tag containing the change: [v2026.2.3](https://github.com/openclaw/openclaw/releases/tag/v2026.2.3)\n- First fixed npm release of `@openclaw/nextcloud-talk`: `2026.2.6` (published 2026-02-07 UTC)\n\n## Mitigation\n\nUpgrade `@openclaw/nextcloud-talk` to `\u003e= 2026.2.6`.\n\n## Release Process Note\n\nThe patched version range is set to the first npm release that contains the fix. Once you are ready, you can publish this advisory without additional version edits.\n\nThanks @MegaManSec (https://joshua.hu) of [AISLE Research Team](https://aisle.com/) for reporting.","status":"published","published":"2026-02-17T21:36:15Z","modified":"2026-03-05T21:52:02Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-290"],"updated_at":"2026-11-02T14:39:31.060223Z"}],"nvd":[{"id":"CVE-2026-28474","description":"OpenClaw's Nextcloud Talk plugin versions prior to 2026.2.6 accept equality matching on the mutable actor.name display name field for allowlist validation, allowing attackers to bypass DM and room allowlists. An attacker can change their Nextcloud display name to match an allowlisted user ID and gain unauthorized access to restricted conversations.","status":"published","published":"2026-03-05T22:16:21.423Z","modified":"2026-09-17T18:16:40.903Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"critical","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:12:07.852448Z"}],"osv":[{"id":"CVE-2026-28474","title":"OpenClaw Nextcloud Talk \u003c 2026.2.6 - Allowlist Bypass via actor.name Display Name Spoofing","description":"OpenClaw's Nextcloud Talk plugin versions prior to 2026.2.6 accept equality matching on the mutable actor.name display name field for allowlist validation, allowing attackers to bypass DM and room allowlists. An attacker can change their Nextcloud display name to match an allowlisted user ID and gain unauthorized access to restricted conversations.","status":"published","published":"2026-03-05T21:59:49.849Z","modified":"2026-10-28T02:30:54.831263345Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:45:00.530889Z"},{"id":"GHSA-r5h9-vjqc-hq3r","title":"Nextcloud Talk allowlist bypass via actor.name display name spoofing","description":"## Summary\n\nIn affected versions of the optional Nextcloud Talk plugin (installed separately; not bundled with the core OpenClaw install), an untrusted webhook field (`actor.name`, display name) could be treated as an allowlist identifier. An attacker could change their Nextcloud display name to match an allowlisted user ID and bypass DM or room allowlists.\n\n## Details\n\nNextcloud Talk webhook payloads provide a stable sender identifier (`actor.id`) and a mutable display name (`actor.name`). In affected versions, the plugin’s allowlist matching accepted equality on the display name, which is attacker-controlled.\n\n## Affected Packages / Versions\n\n- Package: `@openclaw/nextcloud-talk` (npm)\n- Affected: `\u003c= 2026.2.2`\n- Fixed: `\u003e= 2026.2.6`\n\nNote: This advisory applies to the optional Nextcloud Talk plugin package. Core `openclaw` is not impacted unless you installed and use `@openclaw/nextcloud-talk`.\n\n## Fix Commit(s)\n\n- [6b4b6049b47c3329a7014509594647826669892d](https://github.com/openclaw/openclaw/commit/6b4b6049b47c3329a7014509594647826669892d)\n\n## Timeline\n\n- Introduced: [660f87278c9f292061e097441e0b10c20d62b31b](https://github.com/openclaw/openclaw/commit/660f87278c9f292061e097441e0b10c20d62b31b) (2026-01-20)\n- Fixed in repo: [6b4b6049b47c3329a7014509594647826669892d](https://github.com/openclaw/openclaw/commit/6b4b6049b47c3329a7014509594647826669892d) (2026-02-04 UTC)\n- First fixed tag containing the change: [v2026.2.3](https://github.com/openclaw/openclaw/releases/tag/v2026.2.3)\n- First fixed npm release of `@openclaw/nextcloud-talk`: `2026.2.6` (published 2026-02-07 UTC)\n\n## Mitigation\n\nUpgrade `@openclaw/nextcloud-talk` to `\u003e= 2026.2.6`.\n\n## Release Process Note\n\nThe patched version range is set to the first npm release that contains the fix. Once you are ready, you can publish this advisory without additional version edits.\n\nThanks @MegaManSec (https://joshua.hu) of [AISLE Research Team](https://aisle.com/) for reporting.","status":"published","published":"2026-02-17T21:36:15Z","modified":"2026-03-05T22:11:22.53172Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-290"],"updated_at":"2026-11-02T15:46:55.480549Z"}]}}
