CVE-2026-90896: CWE-306 Missing Authentication for Critical Function in MarcosCamara01 Ecommerce Template
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.
AI Analysis
Technical Summary
This vulnerability (CWE-306) arises from missing authentication on a critical function in the checkout session lookup handler of MarcosCamara01 Ecommerce Template before commit 91e273c. The GET handler at /api/stripe/checkout_sessions calls stripe.checkout.sessions.retrieve() without verifying that the requester is authenticated or owns the session. As a result, anyone with a valid Stripe Checkout Session ID (which is exposed in the buyer's browser URL) can retrieve the full session object containing personal and payment information. Other related endpoints enforce authentication, but this one does not, leading to a significant information disclosure risk.
Potential Impact
An unauthenticated remote attacker who obtains a valid Stripe Checkout Session ID can access sensitive buyer information including name, email, phone number, billing address, amount paid, and internal userId. The session ID is exposed in the buyer's browser URL after payment, which can leak through Referer headers, analytics tools, server logs, or shared browser histories, thereby increasing the likelihood of unauthorized data access and privacy violations.
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 only the session owner can retrieve session data. Avoid exposing the session ID in URLs or other client-side locations where it can be leaked.
CVE-2026-90896: CWE-306 Missing Authentication for Critical Function in MarcosCamara01 Ecommerce Template
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
Score 8.2high
Affected software
MarcosCamara01
Ecommerce Template
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This vulnerability (CWE-306) arises from missing authentication on a critical function in the checkout session lookup handler of MarcosCamara01 Ecommerce Template before commit 91e273c. The GET handler at /api/stripe/checkout_sessions calls stripe.checkout.sessions.retrieve() without verifying that the requester is authenticated or owns the session. As a result, anyone with a valid Stripe Checkout Session ID (which is exposed in the buyer's browser URL) can retrieve the full session object containing personal and payment information. Other related endpoints enforce authentication, but this one does not, leading to a significant information disclosure risk.
Potential Impact
An unauthenticated remote attacker who obtains a valid Stripe Checkout Session ID can access sensitive buyer information including name, email, phone number, billing address, amount paid, and internal userId. The session ID is exposed in the buyer's browser URL after payment, which can leak through Referer headers, analytics tools, server logs, or shared browser histories, thereby increasing the likelihood of unauthorized data access and privacy violations.
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 only the session owner can retrieve session data. Avoid exposing the session ID in URLs or other client-side locations where it can be leaked.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Secur0
- Date Reserved
- 2026-09-14T10:11:59.785Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6aa8646a55bf5e2cf5a11f4c
Added to database: 09/14/2026, 21:17:30 UTC
Last enriched: 09/14/2026, 21:31:27 UTC
Last updated: 09/14/2026, 22:18:39 UTC
Views: 23
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
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
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.