Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-35618

OpenClaw: Plivo V2 verified replay identity drifts on query-only variants
Back to all
CVE

CVE-2026-35618

OpenClaw: Plivo V2 verified replay identity drifts on query-only variants

Summary

Before v2026.3.23, the Plivo V2 verification path treated query-only variants of the same signed request as fresh verified work. Plivo V2 signatures authenticate baseUrl + nonce, but the replay key was derived from the full verification URL including the query string, so unsigned query-only changes minted a new verifiedRequestKey.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected: < 2026.3.23
  • Fixed: >= 2026.3.23
  • Latest released tag checked: v2026.3.23-2 (630f1479c44f78484dfa21bb407cbe6f171dac87)
  • Latest published npm version checked: 2026.3.23-2

Root Cause

The vulnerable logic lived in extensions/voice-call/src/webhook-security.ts. V2 signature validation already canonicalized to the base URL without query parameters, but the replay key used the full verificationUrl, letting query-only variants bypass replay identity stability.

Fix Commit(s)

  • b0ce53a79cf63834660270513e26d921899b4e5b — fix(voice-call): stabilize plivo v2 replay keys

Release Status

The 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.

Code-Level Confirmation

  • extensions/voice-call/src/webhook-security.ts now derives the V2 replay key with createPlivoV2ReplayKey(...), which hashes getBaseUrlNoQuery(url) plus the nonce.
  • extensions/voice-call/src/webhook-security.test.ts contains the regression test treats query-only V2 variants as the same verified request.

Thanks @smaeljaish771 for reporting.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
8.3
-
4.0
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:H/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
C
H
U
0
-
C
H
U
7.5
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Related Resources

No items found.

References

https://github.com/openclaw/openclaw/security/advisories/GHSA-cg6c-q2hx-69h7, https://nvd.nist.gov/vuln/detail/CVE-2026-35618, https://github.com/openclaw/openclaw/commit/630f1479c44f78484dfa21bb407cbe6f171dac87, https://github.com/openclaw/openclaw/commit/b0ce53a79cf63834660270513e26d921899b4e5b, https://github.com/openclaw/openclaw, https://www.vulncheck.com/advisories/openclaw-replay-identity-drift-via-query-only-variants-in-plivo-v2-verification

Severity

7.5

CVSS Score
0
10

Basic Information

Ecosystem
Base CVSS
7.5
EPSS Probability
0.00042%
EPSS Percentile
0.13221%
Introduced Version
0,2026.3.22-beta.1,2026.1.29-beta.1,2026.1.27-beta.1,2026.1.14-1,2026.1.29,2026.1.14
Fix Available
2026.3.23,2026.3.23-beta.1

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading