Skip to content

Commit 3040454

Browse files

File tree

advisories/github-reviewed/2026/03/GHSA-3h52-cx59-c456/GHSA-3h52-cx59-c456.json

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-3h52-cx59-c456",
4-
"modified": "2026-03-29T15:48:58Z",
4+
"modified": "2026-04-10T20:21:35Z",
55
"published": "2026-03-29T15:48:58Z",
6-
"aliases": [],
6+
"aliases": [
7+
"CVE-2026-35640"
8+
],
79
"summary": "OpenClaw: Feishu webhook reads and parses unauthenticated request bodies before signature validation",
810
"details": "## Summary\n\nFeishu webhook reads and parses unauthenticated request bodies before signature validation\n\n## Affected Packages / Versions\n\n- Package: `openclaw`\n- Affected versions: `<= 2026.3.24`\n- First patched version: `2026.3.25`\n- Latest published npm version at verification time: `2026.3.24`\n\n## Details\n\nFeishu webhook handling previously parsed JSON before signature validation, which let unauthenticated callers force full JSON parsing work before rejection. Commit `5e8cb22176e9235e224be0bc530699261eb60e53` reads the raw request body, validates the signature first, and only then parses JSON.\n\nVerified vulnerable on tag `v2026.3.24` and fixed on `main` by commit `5e8cb22176e9235e224be0bc530699261eb60e53`.\n\n## Fix Commit(s)\n\n- `5e8cb22176e9235e224be0bc530699261eb60e53`",
9-
"severity": [],
11+
"severity": [
12+
{
13+
"type": "CVSS_V4",
14+
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"
15+
}
16+
],
1017
"affected": [
1118
{
1219
"package": {
@@ -25,24 +32,29 @@
2532
}
2633
]
2734
}
28-
],
29-
"database_specific": {
30-
"last_known_affected_version_range": "<= 2026.3.24"
31-
}
35+
]
3236
}
3337
],
3438
"references": [
3539
{
3640
"type": "WEB",
3741
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-3h52-cx59-c456"
3842
},
43+
{
44+
"type": "ADVISORY",
45+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-35640"
46+
},
3947
{
4048
"type": "WEB",
4149
"url": "https://github.com/openclaw/openclaw/commit/5e8cb22176e9235e224be0bc530699261eb60e53"
4250
},
4351
{
4452
"type": "PACKAGE",
4553
"url": "https://github.com/openclaw/openclaw"
54+
},
55+
{
56+
"type": "WEB",
57+
"url": "https://www.vulncheck.com/advisories/openclaw-denial-of-service-via-unauthenticated-webhook-request-parsing"
4658
}
4759
],
4860
"database_specific": {

advisories/github-reviewed/2026/03/GHSA-6mqc-jqh6-x8fc/GHSA-6mqc-jqh6-x8fc.json

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-6mqc-jqh6-x8fc",
4-
"modified": "2026-04-09T13:43:42Z",
4+
"modified": "2026-04-10T20:19:48Z",
55
"published": "2026-03-26T18:59:00Z",
6-
"aliases": [],
6+
"aliases": [
7+
"CVE-2026-35634"
8+
],
79
"summary": "OpenClaw: Gateway Canvas local-direct requests bypass Canvas HTTP and WebSocket authentication",
810
"details": "## Summary\nBefore `v2026.3.23`, Canvas and A2UI loopback requests could bypass Canvas bearer-or-capability authentication because `authorizeCanvasRequest(...)` treated `isLocalDirectRequest(...)` as an unconditional allow path.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Affected: `< 2026.3.23`\n- Fixed: `>= 2026.3.23`\n- Latest released tag checked: `v2026.3.23-2` (`630f1479c44f78484dfa21bb407cbe6f171dac87`)\n- Latest published npm version checked: `2026.3.23-2`\n\n## Root Cause\nThe vulnerable logic lived in `src/gateway/server/http-auth.ts`. `authorizeCanvasRequest(...)` returned `{ ok: true }` for local-direct requests before checking bearer authentication or an active node canvas capability, which meant unauthenticated loopback Canvas HTTP and WebSocket requests could succeed.\n\n## Fix Commit(s)\n- `d5dc6b6573ae489bc7e5651090f4767b93537c9e` — `fix(gateway): require auth for canvas routes`\n\n## Release Status\nThe fix commit is contained in released tags `v2026.3.23` and `v2026.3.23-2`. The latest shipped tag and npm release both include the fix.\n\n## Code-Level Confirmation\n- `src/gateway/server/http-auth.ts` no longer contains the local-direct early return in `authorizeCanvasRequest(...)`.\n- `src/gateway/server.canvas-auth.test.ts` adds the regression test `denies canvas HTTP/WS on loopback without bearer or capability by default`.\n\nThanks @smaeljaish771 for reporting.",
911
"severity": [
@@ -38,13 +40,25 @@
3840
"type": "WEB",
3941
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-6mqc-jqh6-x8fc"
4042
},
43+
{
44+
"type": "ADVISORY",
45+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-35634"
46+
},
47+
{
48+
"type": "WEB",
49+
"url": "https://github.com/openclaw/openclaw/commit/630f1479c44f78484dfa21bb407cbe6f171dac87"
50+
},
4151
{
4252
"type": "WEB",
4353
"url": "https://github.com/openclaw/openclaw/commit/d5dc6b6573ae489bc7e5651090f4767b93537c9e"
4454
},
4555
{
4656
"type": "PACKAGE",
4757
"url": "https://github.com/openclaw/openclaw"
58+
},
59+
{
60+
"type": "WEB",
61+
"url": "https://www.vulncheck.com/advisories/openclaw-authentication-bypass-via-local-direct-requests-in-canvas-gateway"
4862
}
4963
],
5064
"database_specific": {

advisories/github-reviewed/2026/03/GHSA-hf68-49fm-59cq/GHSA-hf68-49fm-59cq.json

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-hf68-49fm-59cq",
4-
"modified": "2026-03-26T21:40:57Z",
4+
"modified": "2026-04-10T20:20:13Z",
55
"published": "2026-03-26T21:40:57Z",
6-
"aliases": [],
6+
"aliases": [
7+
"CVE-2026-35639"
8+
],
79
"summary": "OpenClaw Gateway: RCE and Privilege Escalation from operator.pairing to operator.admin via device.pair.approve",
810
"details": "## Summary\ndevice.pair.approve allowed an operator.pairing approver to approve a pending device request for broader operator scopes than the approver actually held.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Affected: < 2026.3.22\n- Fixed: >= 2026.3.22\n- Latest released tag checked: `v2026.3.23-2` (`630f1479c44f78484dfa21bb407cbe6f171dac87`)\n- Latest published npm version checked: `2026.3.23-2`\n\n## Fix Commit(s)\n- `fc2d29ea926f47c428c556e92ec981441228d2a4`\n\n## Release Status\nThe fix shipped in `v2026.3.22` and remains present in `v2026.3.23` and `v2026.3.23-2`.\n\n## Code-Level Confirmation\n- src/gateway/server-methods/devices.ts now threads caller scopes into device.pair.approve.\n- src/infra/device-pairing.ts now rejects requested operator scopes that exceed the approver-held operator scope set.\n\nOpenClaw thanks @zpbrent for reporting.",
911
"severity": [
@@ -38,13 +40,25 @@
3840
"type": "WEB",
3941
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-hf68-49fm-59cq"
4042
},
43+
{
44+
"type": "ADVISORY",
45+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-35639"
46+
},
47+
{
48+
"type": "WEB",
49+
"url": "https://github.com/openclaw/openclaw/commit/630f1479c44f78484dfa21bb407cbe6f171dac87"
50+
},
4151
{
4252
"type": "WEB",
4353
"url": "https://github.com/openclaw/openclaw/commit/fc2d29ea926f47c428c556e92ec981441228d2a4"
4454
},
4555
{
4656
"type": "PACKAGE",
4757
"url": "https://github.com/openclaw/openclaw"
58+
},
59+
{
60+
"type": "WEB",
61+
"url": "https://www.vulncheck.com/advisories/openclaw-privilege-escalation-via-device-pair-approve-scope-validation"
4862
}
4963
],
5064
"database_specific": {

advisories/github-reviewed/2026/03/GHSA-rqp8-q22p-5j9q/GHSA-rqp8-q22p-5j9q.json

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-rqp8-q22p-5j9q",
4-
"modified": "2026-03-26T21:45:35Z",
4+
"modified": "2026-04-10T20:19:58Z",
55
"published": "2026-03-26T21:45:35Z",
6-
"aliases": [],
6+
"aliases": [
7+
"CVE-2026-35635"
8+
],
79
"summary": "OpenClaw Bypasses DM Policy Separation via Synology Chat Webhook Path Collision ",
810
"details": "## Summary\nSynology Chat multi-account configuration could collapse onto a shared webhook path, replacing route ownership and bypassing per-account DM policy separation.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Affected: < 2026.3.22\n- Fixed: >= 2026.3.22\n- Latest released tag checked: `v2026.3.23-2` (`630f1479c44f78484dfa21bb407cbe6f171dac87`)\n- Latest published npm version checked: `2026.3.23-2`\n\n## Fix Commit(s)\n- `980940aa58f862da4e19372597bbc2a9f268d70b`\n\n## Release Status\nThe fix shipped in `v2026.3.22` and remains present in `v2026.3.23` and `v2026.3.23-2`.\n\n## Code-Level Confirmation\n- extensions/synology-chat/src/accounts.ts now distinguishes inherited base webhook paths from explicit per-account paths.\n- extensions/synology-chat/src/gateway-runtime.ts now fails closed on inherited or duplicate webhook paths and registers routes without replacement.\n\nOpenClaw thanks @tdjackey for reporting.",
911
"severity": [
@@ -38,13 +40,25 @@
3840
"type": "WEB",
3941
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-rqp8-q22p-5j9q"
4042
},
43+
{
44+
"type": "ADVISORY",
45+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-35635"
46+
},
47+
{
48+
"type": "WEB",
49+
"url": "https://github.com/openclaw/openclaw/commit/630f1479c44f78484dfa21bb407cbe6f171dac87"
50+
},
4151
{
4252
"type": "WEB",
4353
"url": "https://github.com/openclaw/openclaw/commit/980940aa58f862da4e19372597bbc2a9f268d70b"
4454
},
4555
{
4656
"type": "PACKAGE",
4757
"url": "https://github.com/openclaw/openclaw"
58+
},
59+
{
60+
"type": "WEB",
61+
"url": "https://www.vulncheck.com/advisories/openclaw-webhook-path-route-replacement-vulnerability-in-synology-chat"
4862
}
4963
],
5064
"database_specific": {

advisories/github-reviewed/2026/03/GHSA-vfg3-pqpq-93m4/GHSA-vfg3-pqpq-93m4.json

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-vfg3-pqpq-93m4",
4-
"modified": "2026-03-26T21:27:49Z",
4+
"modified": "2026-04-10T20:20:23Z",
55
"published": "2026-03-26T21:27:49Z",
6-
"aliases": [],
6+
"aliases": [
7+
"CVE-2026-35637"
8+
],
79
"summary": "OpenClaw: Tlon cite expansion happens before channel and DM authorization is complete",
810
"details": "## Summary\nTlon cite expansion happened before channel and DM authorization completed, allowing cite work and content handling before the final auth decision.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Affected: < 2026.3.22\n- Fixed: >= 2026.3.22\n- Latest released tag checked: `v2026.3.23-2` (`630f1479c44f78484dfa21bb407cbe6f171dac87`)\n- Latest published npm version checked: `2026.3.23-2`\n\n## Fix Commit(s)\n- `3cbf932413e41d1836cb91aed1541a28a3122f93`\n- `ebee4e2210e1f282a982c7ef2ad79d77a572fc87`\n\n## Release Status\nThe fix shipped in `v2026.3.22` and remains present in `v2026.3.23` and `v2026.3.23-2`.\n\n## Code-Level Confirmation\n- extensions/tlon/src/monitor/index.ts now defers cite expansion until after authorization and preserves explicit empty-allowlist semantics.\n- extensions/tlon/src/monitor/utils.ts and extensions/tlon/src/security.test.ts ship the deferred cite expansion behavior and regressions.\n\nOpenClaw thanks @zpbrent for reporting.",
911
"severity": [
@@ -38,17 +40,29 @@
3840
"type": "WEB",
3941
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-vfg3-pqpq-93m4"
4042
},
43+
{
44+
"type": "ADVISORY",
45+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-35637"
46+
},
4147
{
4248
"type": "WEB",
4349
"url": "https://github.com/openclaw/openclaw/commit/3cbf932413e41d1836cb91aed1541a28a3122f93"
4450
},
51+
{
52+
"type": "WEB",
53+
"url": "https://github.com/openclaw/openclaw/commit/630f1479c44f78484dfa21bb407cbe6f171dac87"
54+
},
4555
{
4656
"type": "WEB",
4757
"url": "https://github.com/openclaw/openclaw/commit/ebee4e2210e1f282a982c7ef2ad79d77a572fc87"
4858
},
4959
{
5060
"type": "PACKAGE",
5161
"url": "https://github.com/openclaw/openclaw"
62+
},
63+
{
64+
"type": "WEB",
65+
"url": "https://www.vulncheck.com/advisories/openclaw-premature-cite-expansion-before-authorization-in-channel-and-dm"
5266
}
5367
],
5468
"database_specific": {
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"schema_version": "1.4.0",
3+
"id": "GHSA-8f9r-gr6r-x63q",
4+
"modified": "2026-04-10T20:21:21Z",
5+
"published": "2026-04-10T00:30:30Z",
6+
"withdrawn": "2026-04-10T20:21:21Z",
7+
"aliases": [],
8+
"summary": "Duplicate Advisory: OpenClaw: Feishu webhook reads and parses unauthenticated request bodies before signature validation",
9+
"details": "### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-3h52-cx59-c456. This link is maintained to preserve external references.\n\n### Original Description\nOpenClaw before 2026.3.25 parses JSON request bodies before validating webhook signatures, allowing unauthenticated attackers to force resource-intensive parsing operations. Remote attackers can send malicious webhook requests to trigger denial of service by exhausting server resources through forced JSON parsing before signature rejection.",
10+
"severity": [
11+
{
12+
"type": "CVSS_V3",
13+
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
14+
},
15+
{
16+
"type": "CVSS_V4",
17+
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/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"
18+
}
19+
],
20+
"affected": [
21+
{
22+
"package": {
23+
"ecosystem": "npm",
24+
"name": "openclaw"
25+
},
26+
"ranges": [
27+
{
28+
"type": "ECOSYSTEM",
29+
"events": [
30+
{
31+
"introduced": "0"
32+
},
33+
{
34+
"fixed": "2026.3.28"
35+
}
36+
]
37+
}
38+
]
39+
}
40+
],
41+
"references": [
42+
{
43+
"type": "WEB",
44+
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-3h52-cx59-c456"
45+
},
46+
{
47+
"type": "ADVISORY",
48+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-35640"
49+
},
50+
{
51+
"type": "WEB",
52+
"url": "https://github.com/openclaw/openclaw/commit/5e8cb22176e9235e224be0bc530699261eb60e53"
53+
},
54+
{
55+
"type": "WEB",
56+
"url": "https://www.vulncheck.com/advisories/openclaw-denial-of-service-via-unauthenticated-webhook-request-parsing"
57+
}
58+
],
59+
"database_specific": {
60+
"cwe_ids": [
61+
"CWE-696"
62+
],
63+
"severity": "MODERATE",
64+
"github_reviewed": true,
65+
"github_reviewed_at": "2026-04-10T20:21:21Z",
66+
"nvd_published_at": "2026-04-09T22:16:33Z"
67+
}
68+
}

advisories/unreviewed/2026/04/GHSA-g8mc-c5f2-mqg7/GHSA-g8mc-c5f2-mqg7.json renamed to advisories/github-reviewed/2026/04/GHSA-g8mc-c5f2-mqg7/GHSA-g8mc-c5f2-mqg7.json

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-g8mc-c5f2-mqg7",
4-
"modified": "2026-04-10T00:30:30Z",
4+
"modified": "2026-04-10T20:19:52Z",
55
"published": "2026-04-10T00:30:30Z",
6-
"aliases": [
7-
"CVE-2026-35635"
8-
],
9-
"details": "OpenClaw before 2026.3.22 contains a webhook path route replacement vulnerability in the Synology Chat extension that allows attackers to collapse multi-account configurations onto shared webhook paths. Attackers can exploit inherited or duplicate webhook paths to bypass per-account DM access control policies and replace route ownership across accounts.",
6+
"withdrawn": "2026-04-10T20:19:52Z",
7+
"aliases": [],
8+
"summary": "Duplicate Advisory: OpenClaw Bypasses DM Policy Separation via Synology Chat Webhook Path Collision",
9+
"details": "### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-rqp8-q22p-5j9q This link is maintained to preserve external references.\n\n### Original Description\nOpenClaw before 2026.3.22 contains a webhook path route replacement vulnerability in the Synology Chat extension that allows attackers to collapse multi-account configurations onto shared webhook paths. Attackers can exploit inherited or duplicate webhook paths to bypass per-account DM access control policies and replace route ownership across accounts.",
1010
"severity": [
1111
{
1212
"type": "CVSS_V3",
@@ -17,7 +17,27 @@
1717
"score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/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"
1818
}
1919
],
20-
"affected": [],
20+
"affected": [
21+
{
22+
"package": {
23+
"ecosystem": "npm",
24+
"name": "openclaw"
25+
},
26+
"ranges": [
27+
{
28+
"type": "ECOSYSTEM",
29+
"events": [
30+
{
31+
"introduced": "0"
32+
},
33+
{
34+
"fixed": "2026.3.22"
35+
}
36+
]
37+
}
38+
]
39+
}
40+
],
2141
"references": [
2242
{
2343
"type": "WEB",
@@ -45,8 +65,8 @@
4565
"CWE-706"
4666
],
4767
"severity": "MODERATE",
48-
"github_reviewed": false,
49-
"github_reviewed_at": null,
68+
"github_reviewed": true,
69+
"github_reviewed_at": "2026-04-10T20:19:52Z",
5070
"nvd_published_at": "2026-04-09T22:16:32Z"
5171
}
5272
}

0 commit comments

Comments
 (0)