Important
Action needed for two new vulnerabilities
Auto-fix projects
  • React Server Components security update: DoS and Source Code Exposure

    See the Security Bulletin for the latest updates.

    Link to headingSummary

    Two additional vulnerabilities in React Server Components have been identified: a high-severity Denial of Service (CVE-2025-55184) and a medium-severity Source Code Exposure (CVE-2025-55183). These issues were discovered while security researchers examined the patches for the original React2Shell vulnerability. The initial fix was incomplete and did not fully prevent denial-of-service attacks for all payload types, resulting in CVE-2025-67779.

    Importantly, none of these new issues allow for Remote Code Execution.

    We created new rules to address these vulnerabilities and deployed them to the Vercel WAF to automatically protect all projects hosted on Vercel at no cost. However, do not rely on the WAF for full protection. Immediate upgrades to a patched version are required.

    Link to headingImpact

    Link to headingDenial of Service (CVE-2025-55184)

    A malicious HTTP request can be crafted and sent to any App Router endpoint that, when deserialized, can cause the server process to hang and consume CPU.

    Link to headingSource Code Exposure (CVE-2025-55183)

    A malicious HTTP request can be crafted and sent to any App Router endpoint that can return the compiled source code of Server Actions. This could reveal business logic, but would not expose secrets unless they were hardcoded directly into Server Action's code.

    These vulnerabilities are present in versions 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.1.2, 19.2.0, and 19.2.1 of the following packages:

    • react-server-dom-parcel

    • react-server-dom-webpack

    • react-server-dom-turbopack

    These packages are included in the following frameworks and bundlers:

    • Next.js: 13.x, 14.x, 15.x, and 16.x.

    • Other frameworks and plugins that embed or depend on React Server Components implementation (e.g., Vite, Parcel, React Router, RedwoodSDK, Waku)

    Link to headingResolution

    After creating mitigations to address these vulnerabilities, we deployed them across our globally-distributed platform to protect our customers. We still recommend upgrading to the latest patched version.

    Updated releases of React and affected downstream frameworks include fixes to prevent these issues. All users should upgrade to a patched version as soon as possible.

    Link to headingFixed in

    • React: 19.0.2, 19.1.3, 19.2.2.

    • Next.js: 14.2.35, 15.0.7, 15.1.11, 15.2.8, 15.3.8, 15.4.10, 15.5.9, 15.6.0-canary.60, 16.0.10, 16.1.0-canary.19.

    Frameworks and bundlers using the aforementioned packages should install the latest versions provided by their respective maintainers.

    Link to headingCredit

    Thanks to RyotaK from GMO Flatt Security Inc. and Andrew MacPherson for identifying and responsibly reporting these vulnerabilities, and the Meta Security and React teams for their partnership.

    Link to headingReferences

  • GPT 5.2 models now available on Vercel AI Gateway

    You can now access OpenAI's latest GPT-5.2 models with Vercel's AI Gateway and no other provider accounts required.

    These models perform better than the GPT-5.1 model series, with noted improvements in professional knowledge work, coding, and long-context reasoning. Other highlights include fewer hallucinations, more accurate vision to interpret graphs and visualizations, strong complex front-end work capabilities, and better information retention working with long documents.

    There are 3 models available on AI Gateway:

    • GPT-5.2 Chat (openai/gpt-5.2-chat) is the model used in ChatGPT, best suited for everyday work and learning.

    • GPT-5.2 (openai/gpt-5.2) is for deeper work and complex tasks involving coding or long documents.

    • GPT-5.2 Pro (openai/gpt-5.2-pro) is best suited for the most difficult questions and tasks with large amounts of reasoning.

    To use the GPT-5.2 models with the AI SDK, set the model to the respective model slug (noted above):

    import { streamText } from 'ai';
    const result = streamText({
    model: 'openai/gpt-5.2-pro',
    prompt:
    `Create a single-page aurora sky visualizer app in a single HTML file.
    It should display a realistic animated aurora borealis night sky.
    Change solar activity level, color palette (green/purple/mixed),
    and sky clarity (haze, clear, light clouds).
    The UI should feel tranquil, immersive, and visually realistic,
    with smooth transitions and subtle ambient motion.`
    providerOptions: {
    openai: {
    reasoningSummary: 'detailed',
    reasoningEffort: 'high',
    },
    },
    });

    AI Gateway provides a unified API for calling models, tracking usage and cost, and configuring retries, failover, and performance optimizations for higher-than-provider uptime. It includes built-in observability, Bring Your Own Key support, and intelligent provider routing with automatic retries.

    Learn more about AI Gateway, view the AI Gateway model leaderboard or try it in our model playground.

    AI Gateway: Track top AI models by usage

    The AI Gateway model leaderboard ranks the most used models over time by total token volume across all traffic through the Gateway. Updates regularly.

    View the leaderboard

  • Node.js 24 LTS is now available on Sandbox

    Vercel Sandbox now supports Node.js version 24.

    To run a Sandbox with Node.js 24, upgrade @vercel/sandbox to version 1.1.0 or above and set the runtime property to node24:

    main.ts
    import { Sandbox } from "@vercel/sandbox";
    async function main() {
    const sandbox = await Sandbox.create({
    runtime: "node24",
    });
    const version = await sandbox.runCommand("node", ["-v"]);
    console.log(`Node.js version: ${await version.stdout()}`);
    }
    main().catch(console.error);

    Read our Sandbox documentation to learn more.

    Andy Waller

  • FastAPI Lifespan Events are now supported on Vercel

    Vercel now supports lifespan events for FastAPI apps. This allows you to define logic that can execute on startup and graceful shutdown—such as managing database connections or flushing external logs.

    from contextlib import asynccontextmanager
    from fastapi import FastAPI
    @asynccontextmanager
    async def lifespan(app: FastAPI):
    # Startup logic
    print("Starting up...")
    await startup_tasks()
    yield
    # Shutdown logic
    await cleanup_tasks()
    app = FastAPI(lifespan=lifespan)

    Deploy FastAPI on Vercel or visit the FastAPI on Vercel documentation.

  • Unified security actions dashboard

    Vercel now provides a unified dashboard that surfaces any security issues requiring action from your team. When a critical vulnerability or security-related task is detected, the dashboard automatically groups your affected projects and guides you through the steps needed to secure them.

    This view appears as a banner whenever action is required, and can be accessed anytime through the dashboard search.

    Most CVEs are handled automatically through WAF rules and other protections, but when user action is needed, they will appear here.

    • Automatic detection of security vulnerabilities that require user intervention - When the platform identifies a vulnerability or configuration that cannot be fully mitigated by Vercel’s autonomous protections, it’s surfaced here with clear instructions.

    • Project grouping based on required actions - Current categories include unpatched dependencies, manual fix required, unprotected preview deployments. Additional groups will appear over time as new protections and checks are added.

    • Support for both automated remediation - When possible, Vercel Agent offers one-click automated upgrades and PRs.

    • Support for manual remediation - For cases requiring manual updates or where GitHub access isn’t available, we provide direct instructions such as: npx fix-react2shell-next

    Link to headingStay secure with less effort

    The unified dashboard helps teams act quickly during critical moments, consolidate required fixes in one place, and maintain a stronger security posture across all projects.

    Explore the dashboard to view any required updates.

  • Automated React2Shell vulnerability patching is now available

    Vercel Agent now detects vulnerable packages in your project, and automatically generates pull requests with fixes to upgrade them to patched versions.

    React2Shell: Auto-fix vulnerable projects here

    Vercel Agent detects vulnerable packages in your project, and automatically generates pull requests with verified fixes to upgrade them to patched versions.

    Auto-fix React2Shell now

    Powered by Vercel's self-driving infrastructure, these auto-fix upgrades are available at no cost and help teams stay secure with minimal manual effort.

    • Automatic detection of vulnerable React, Next.js, and related RSC packages

    • Automatic PR creation

    • Full execution and verification of updates inside isolated Sandbox environments

    • Preview links generated with PR, to manually validate updates

    About React2Shell
    React2Shell (CVE-2025-55182) is a critical remote code execution vulnerability in React Server Components that affects React 19 and frameworks that use it like Next.js. Specially crafted requests can trigger unintended code execution if your application is running a vulnerable version. Immediate upgrades are required for all projects using affected React and Next.js releases.

    Get the latest updates on React2Shell or view the new dashboard here.

    React2Shell: Auto-fix vulnerable projects here

    Vercel Agent detects vulnerable packages in your project, and automatically generates pull requests with verified fixes to upgrade them to patched versions.

    Auto-fix React2Shell now

  • Rust runtime now in public beta for Vercel Functions

    Today, we are launching first-class support for the Rust runtime beta.

    This new release of native support, as an evolution of the community Rust runtime, brings the full benefits of Vercel Functions, including Fluid compute (with HTTP response streaming and Active CPU pricing) and an increased environment variable limit from 6KB to 64KB.

    Rust deployments automatically integrate with Vercel's existing logging, observability, and monitoring systems.

    To get started, create a Cargo.toml file and a handler function like in the example below:

    Cargo.toml
    [package]
    name = "rust-hello-world"
    version = "0.1.0"
    edition = "2024"
    [dependencies]
    tokio = { version = "1", features = ["full"] }
    vercel_runtime = { version = "2" }
    serde = { version = "1.0", features = ["derive"] }
    serde_json = "1.0"
    [[bin]]
    name = "hello"
    path = "api/hello.rs"

    api/handler.rs
    use serde_json::{Value, json};
    use vercel_runtime::{Error, Request, run, service_fn};
    #[tokio::main]
    async fn main() -> Result<(), Error> {
    let service = service_fn(handler);
    run(service).await
    }
    async fn handler(_req: Request) -> Result<Value, Error> {
    Ok(json!({
    "message": "Hello, world!",
    }))
    }

    Deploy to Vercel today with one of our starter templates Rust Hello World and Rust Axum, or read more in the Function docs.

  • Rewrites and redirects now available in runtime logs

    Vercel users can now view requests that make rewrites or redirects directly in the Vercel dashboard in runtime logs.

    By default, these requests are filtered out on the Runtime Logs page. To view these requests on the Logs page, you can filter for Rewrites or Redirects in the Resource dropdown.

    • Rewrites: shows the destination of the rewrite

    • Redirects: shows the redirect status code and location

    This feature is available to all users. Try it out or learn more about runtime logs.