<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vulnerability Spoiler Alert - vercel/next.js</title>
    <link>https://spaceraccoon.github.io/vulnerability-spoiler-alert</link>
    <description>Vulnerability alerts for vercel/next.js</description>
    <language>en-us</language>
    <lastBuildDate>Fri, 17 Apr 2026 01:52:35 GMT</lastBuildDate>
    <atom:link href="https://spaceraccoon.github.io/vulnerability-spoiler-alert/feed/vercel-next.js.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>[MEDIUM] Cross-Origin Request Forgery / Unauthorized Access to Dev Resources in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/81</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/81</guid>
      <pubDate>Tue, 17 Mar 2026 23:13:17 GMT</pubDate>
      <description>Before this patch, Next.js development servers only warned (but did not block) cross-origin requests to internal dev assets and endpoints (/_next/*, /__nextjs*) when `allowedDevOrigins` was not configured. An attacker could craft a malicious webpage that loads or interacts with internal dev-only resources (HMR WebSocket, error feedback endpoints, internal chunks) from any origin. The patch changes the default behavior from warn-only to blocking with a 403 response, preventing unauthorized cross-origin access to dev server internals.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[HIGH] Open Redirect / Server-Side Request Forgery (SSRF) in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/77</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/77</guid>
      <pubDate>Tue, 17 Mar 2026 02:21:23 GMT</pubDate>
      <description>The commit patches the compiled `http-proxy` / `follow-redirects` library bundled in Next.js, referencing security advisory GHSA-ggv3-7p47-pfv8. The vulnerability involves improper handling of HTTP redirects in the `follow-redirects` library, which could allow an attacker to manipulate redirect targets to leak sensitive request headers (such as Authorization) to unintended hosts or bypass security controls via crafted redirect responses. The patch updates the compiled bundle with fixes to the redirect handling logic.</description>
      <category>high</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[HIGH] Cross-Site Request Forgery (CSRF) in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/76</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/76</guid>
      <pubDate>Tue, 17 Mar 2026 02:21:01 GMT</pubDate>
      <description>Before the patch, when the `Origin` header was set to the string `&apos;null&apos;` (which browsers send from privacy-sensitive contexts like sandboxed iframes), Next.js would skip the CSRF origin check entirely because the code treated `&apos;null&apos;` as a missing/invalid origin and fell through without validation. This allowed an attacker to embed a sandboxed iframe that submits a Server Action cross-origin with user credentials (cookies) attached, bypassing CSRF protection. The patch now treats `&apos;null&apos;` as a valid but opaque origin and checks it against the `allowedOrigins` allowlist, blocking unauthorized cross-origin Server Action submissions from sandboxed contexts.</description>
      <category>high</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[HIGH] Cross-Site WebSocket Hijacking / CSRF in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/75</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/75</guid>
      <pubDate>Tue, 17 Mar 2026 00:49:23 GMT</pubDate>
      <description>Before the patch, WebSocket connections to Next.js dev server endpoints (e.g., /_next/webpack-hmr) were accepted from privacy-sensitive origins (e.g., pages served with &apos;sandbox&apos; CSP that sets origin to null). The old code only blocked requests when rawOrigin was truthy AND not equal to &apos;null&apos;, meaning requests with origin header &apos;null&apos; (sent by sandboxed iframes/pages) bypassed origin validation entirely. The patch fixes this by treating a &apos;null&apos; origin as a defined but non-allowed origin, causing such requests to be blocked.</description>
      <category>high</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[HIGH] Sensitive Data Exposure (Secrets persisted to cache) in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/57</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/57</guid>
      <pubDate>Thu, 26 Feb 2026 14:22:19 GMT</pubDate>
      <description>Before the patch, `ProcessEnv::read_all()` returned a serializable `EnvMap`, which could be automatically persisted into Turbopack/Next.js&apos; on-disk persistent cache. This meant any process environment variable (including secrets like API keys and tokens) could be written to disk and later recovered by anyone with read access to the cache directory (e.g., another local user, CI artifact consumers, or a compromised build agent). The patch introduces `TransientEnvMap` with `serialization = &quot;none&quot;` and changes `read_all()` to return it, preventing env vars from being persisted and forcing them to be re-read from the process environment after cache restore.</description>
      <category>high</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Race Condition in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/48</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/48</guid>
      <pubDate>Mon, 23 Feb 2026 17:06:28 GMT</pubDate>
      <description>The code had a concurrency bug where the follower&apos;s aggregation number was read without proper locking, allowing the inner-vs-follower classification decision to be made on stale data if the aggregation number changed concurrently. This could lead to incorrect task classification and potential data corruption in the aggregation system.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Path Traversal in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/45</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/45</guid>
      <pubDate>Sat, 21 Feb 2026 04:12:12 GMT</pubDate>
      <description>The script accepts user-provided file paths without validation and directly converts them to file URLs, allowing attackers to access arbitrary files on the system. The patch adds proper path handling using pathToFileURL() which normalizes paths and prevents directory traversal attacks.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Stack Overflow DoS in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/42</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/42</guid>
      <pubDate>Fri, 20 Feb 2026 04:55:06 GMT</pubDate>
      <description>The unhandled rejection filter module was being bundled twice, causing mutual recursion when handling unhandled Promise rejections. Each instance captured the other&apos;s handler, creating an infinite loop that would overflow the stack and crash the server on any unhandled rejection.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Denial of Service / Resource Exhaustion in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/32</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/32</guid>
      <pubDate>Wed, 18 Feb 2026 17:06:36 GMT</pubDate>
      <description>The code had a missing size check for postponed request bodies in self-hosted setups, allowing attackers to send arbitrarily large payloads that would consume server memory and potentially crash the application. The patch ensures maxPostponedStateSize is consistently enforced across all code paths that buffer postponed bodies.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[CRITICAL] Code Injection in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/17</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/17</guid>
      <pubDate>Fri, 13 Feb 2026 19:07:44 GMT</pubDate>
      <description>The feature allows arbitrary webpack loader execution through import attributes without proper validation or sandboxing. An attacker can specify malicious loader code that gets executed during the build process, potentially leading to remote code execution on the build server.</description>
      <category>critical</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Prototype Pollution in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/6</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/6</guid>
      <pubDate>Tue, 10 Feb 2026 13:16:21 GMT</pubDate>
      <description>The code was directly accessing the `$typeof` property on potentially untrusted objects without proper validation, allowing attackers to exploit prototype pollution to inject malicious `$typeof` properties. The patch introduces a `readReactElementTypeof` function that uses `hasOwnProperty.call()` to safely check for the property&apos;s existence on the object itself rather than the prototype chain.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Integer Division by Zero / Panic-based DoS in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/5</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/5</guid>
      <pubDate>Tue, 10 Feb 2026 13:14:12 GMT</pubDate>
      <description>The code performed integer division without checking for division by zero, which could cause a panic and crash the application. The patch replaces direct division with checked_div() to handle zero divisors safely.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
    <item>
      <title>[MEDIUM] Integer Overflow / Denial of Service in vercel/next.js</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/4</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/4</guid>
      <pubDate>Tue, 10 Feb 2026 13:11:00 GMT</pubDate>
      <description>The code incorrectly used max() instead of min() to clamp worker counts, causing all systems to be treated as having 64+ cores and potentially overflowing usize on systems with many actual cores. This could lead to memory exhaustion or application crashes.</description>
      <category>medium</category>
      <category>unverified</category>
    </item>
  </channel>
</rss>