Effect — это платформа TypeScript, состоящая из нескольких пакетов, которые совместно помогают создавать приложения TypeScript. До версии 3.20.0 при использовании RpcServer.toWebHandler (или HttpApp.toWebHandlerRuntime) внутри обработчика маршрута маршрутизатора приложений Next.js любой Node.js-зависимый API AsyncLocalStorage, вызываемый из волокна Effect, может читать контекст другого параллельного запроса — или вообще не читать контекст. При рабочем трафике `auth()` из `@clerk/nextjs/server` возвращает сеанс другого пользователя.
Версия 3.20.0 содержит исправление этой проблемы.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1