Skip to main content

Missing Authentication for Critical Function (CWE-306) in the checkout session lookup handler (src/app/api/stripe/checkout_sessions/route.ts),… (CVE-2026-90896)

0
High
Published: 09/14/2026 (09/14/2026, 21:31:57 UTC)
Source: GCVE Database

Description

Missing Authentication for Critical Function (CWE-306) in the checkout session lookup handler (src/app/api/stripe/checkout_sessions/route.ts), exposed at GET /api/stripe/checkout_sessions, in MarcosCamara01 Ecommerce Template before commit 91e273c allows a remote, unauthenticated attacker holding a valid Stripe Checkout Session id (cs_...) to retrieve the full session object, including the buyer's name, email, phone, billing address, amount paid and internal userId, because the GET handler calls stripe.checkout.sessions.retrieve() and returns the result without checking for an authenticated session or session ownership. Sibling endpoints such as POST /api/stripe/payment already enforced authentication via auth.api.getSession(); this endpoint had no access control whatsoever. The session_id is exposed in the buyer's own browser URL after payment (success_url = /result?session_id={CHECKOUT_SESSION_ID}), so it leaks through Referer headers, analytics tools, server access logs and shared-machine browser history, resulting in disclosure of the buyer's personal data to an unauthenticated actor.

CVSS v4.0

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vuln. Confidentiality
High
Vuln. Integrity
None
Vuln. Availability
None
Subsq. Confidentiality
None
Subsq. Integrity
None
Subsq. Availability
None
Scope
X
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 09/15/2026, 01:44:21 UTC

Technical Analysis

This vulnerability involves missing authentication for a critical function in the checkout session lookup handler (src/app/api/stripe/checkout_sessions/route.ts) of MarcosCamara01 Ecommerce Template before commit 91e273c. The GET handler at /api/stripe/checkout_sessions retrieves the full Stripe Checkout Session object by calling stripe.checkout.sessions.retrieve() without verifying that the requester is authenticated or owns the session. Because the session ID is exposed in the buyer's browser URL after payment, an unauthenticated remote attacker who obtains a valid session ID can access sensitive buyer data such as name, email, phone, billing address, amount paid, and internal userId. This contrasts with sibling endpoints like POST /api/stripe/payment, which enforce authentication. The lack of access control on this endpoint leads to unauthorized disclosure of personal data.

Potential Impact

An unauthenticated remote attacker who obtains a valid Stripe Checkout Session ID can retrieve sensitive personal and payment information of buyers, including name, email, phone number, billing address, amount paid, and internal userId. This exposure results from the absence of authentication and authorization checks on the affected endpoint. The session ID's presence in the browser URL after payment increases the risk of leakage through Referer headers, analytics tools, server logs, and shared browser histories, potentially allowing attackers to harvest multiple users' personal data without authentication.

Mitigation Recommendations

Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the GET /api/stripe/checkout_sessions endpoint by implementing proper authentication and authorization checks to ensure that only the session owner can retrieve their checkout session data. Avoid exposing the session ID in URLs accessible to third parties, such as in query parameters, to reduce leakage risk.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
GHSA-qfqr-55gf-4v3j
Osv Schema Version
1.4.0
Aliases
["CVE-2026-90896"]
Database Specific Severity
HIGH
Cvss Version
4.0
State
PUBLISHED

Threat ID: 6aa8a17d55bf5e2cf5f3c9e4

Added to database: 09/15/2026, 01:38:05 UTC

Last enriched: 09/15/2026, 01:44:21 UTC

Last updated: 09/15/2026, 03:01:23 UTC

Views: 2

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses