cyber security

Cache Deception Flaw in SvelteKit And Vercel Stack Exposes User Data

A cache deception vulnerability in SvelteKit apps deployed on Vercel exposes sensitive user data to attackers. The flaw allows publicly cached responses to be authenticated.

SvelteKit, a full-stack JavaScript framework, often pairs with Vercel for deployment. The issue stems from the Vercel adapter in SvelteKit, where the __pathname query parameter overrides the request path without any checks.

This affects paths under /_app/immutable/, which Vercel caches aggressively with headers like Cache-Control: public, immutable, max-age=31536000.​

Attackers trick logged-in users into visiting a crafted URL, such as https://example.vercel.app/_app/immutable/x?__pathname=/api/session.

The adapter rewrites the path to a sensitive endpoint /api/session, fetches private data using the victim’s cookies, and caches it publicly due to the static-like prefix.

Later, the attacker requests the same URL without cookies and retrieves the data from cache, marked as X-Vercel-Cache: HIT.

Vercel’s caching rules make any 200 OK response under /_app/immutable/ cacheable, ignoring private content.

This impacts any SvelteKit site on Vercel using cookie-based auth for protected routes, with no app changes needed. A related flaw enables denial-of-service via memory exhaustion in an experimental SvelteKit feature.

CVE/GHSA IDDescription
CVE-2026-27118 (GHSA-9pq4-5hcf-288c)Cache deception/poisoning via __pathname param in adapter-vercel

AI agent spotted the __pathname behavior in SvelteKit’s serverless.js adapter while testing. Designed for Incremental Static Regeneration (ISR), it lacked path validation, enabling overrides like /?__pathname=/404 to work universally.

404 error instead of the homepage (Source: Aikido )

Initial cache-poisoning attempts failed because Vercel’s static asset handling bypassed the adapter.

​Attackers exploit unkeyed cache inputs to store harmful payloads, like XSS, under common URLs. Unlike cache deception, which tricks caches into storing private data publicly, poisoning alters backend responses first

Pivoting to cache deception succeeded: Caches apply rules based on URL paths or extensions, like caching .css files publicly. Attackers append fake static suffixes (e.g., /user/profile.css) to dynamic endpoints.

The origin sees the dynamic path, serves user data with cookies; the cache stores it as static due to parsing differences.

In SvelteKit-Vercel, __pathname=/api/session on /_app/immutable/x fooled immutable caching, exposing tokens.

Aikido was disclosed on January 21, 2026, after PoC on January 20. Vercel triaged January 23, confirmed February 9, and fixed February 19 by forcing 404s on invalid /_app/immutable/ paths and stripping __pathname.

The patch is automatic for Vercel-hosted apps via platform controls. Users should upgrade @sveltejs/adapter-vercel to 6.3.2+ and rescan repos with tools like Aikido.

Timeline EventDate
Discovery and PoCJan 20, 2026
Disclosure to VercelJanuary 20, 2026
Report TriagedJanuary 21, 2026
Fix Work StartedJanuary 23, 2026
Fixed and Advisory PublishedFebruary 9, 2026

Impacts any SvelteKit site on Vercel with protected routes. CVSS 5.3 reflects no privileges needed, but user interaction for deception.

Upgrade @sveltejs/adapter-vercel To the latest for safety. Caching layers demand caution; simple prefixes can hide platform quirks.

Follow us on Google News, LinkedIn, and X to Get Instant Updates and Set GBH as a Preferred Source in Google.

Divya

Divya is a Senior Journalist at GBhackers covering Cyber Attacks, Threats, Breaches, Vulnerabilities and other happenings in the cyber world.

Recent Posts

Hackers Use ConnectWise SkyKick Credentials to Access Microsoft 365, Halting Cloud Backups

Attackers abused compromised ConnectWise Cloud Backup credentials to access Microsoft 365 customer environments, prompting ConnectWise…

1 day ago

Anthropic’s Claude AI Uncovers Origins of NSA-Provided Cryptographic Keys After 25 Years

Anthropic says an internal Claude research model reconstructed how the National Security Agency generated seeds…

1 day ago

Critical WordPress Flaws Allow Attackers to Execute Remote Code Without Authentication

Two WordPress Core vulnerabilities can be chained to execute remote code without authentication, according to…

2 days ago

OpenBSD Kernel Flaw Dating Back 37 Years Enables Local Privilege Escalation to Root

A newly disclosed OpenBSD kernel exploitation chain combines a shared memory accounting flaw with a…

2 days ago

GhostAction Hackers Hide Credential-Stealing Malware in Fake Font Files Across 94 GitHub Repositories

GhostAction attackers have expanded their GitHub credential theft campaign with a second stage that disguises…

2 days ago

SideCopy Hackers Target Indian Organizations With ReverseRAT Malware to Steal Data

Indian authorities have warned that SideCopy hackers are targeting Indian organizations, including academic institutions, with…

2 days ago