CVE-2026-32887 PUBLISHED

Effect Bug: `AsyncLocalStorage` context lost/contaminated inside Effect fibers under concurrent load with RPC

Assigner: GitHub_M
Reserved: 16.03.2026 Published: 20.03.2026 Updated: 20.03.2026

Effect is a TypeScript framework that consists of several packages that work together to help build TypeScript applications. Prior to version 3.20.0, when using RpcServer.toWebHandler (or HttpApp.toWebHandlerRuntime) inside a Next.js App Router route handler, any Node.js AsyncLocalStorage-dependent API called from within an Effect fiber can read another concurrent request's context — or no context at all. Under production traffic, auth() from @clerk/nextjs/server returns a different user's session. Version 3.20.0 contains a fix for the issue.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS Score: 7.4

Product Status

Vendor Effect-TS
Product effect
Versions
  • Version < 3.20.0 is affected

References

Problem Types

  • CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') CWE