Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-115453— Cross user deletion and modification of cart and wishlist rows in Ecommerce Template through unscoped primary key queries

Quick assessment

Affected
MarcosCamara01 Ecommerce Template
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 MarcosCamara01 电子商务模板的购物车(cart)和心愿单(wishlist)仓库中,存在“通过用户控制键绕过授权”漏洞(CWE-639)。该漏洞允许任意已认证用户删除或修改其他用户的购物车和心愿单记录。其根本原因在于: 目录下的 、 和 方法仅依据主键匹配记录,未对所属用户进行任何谓词校验;而这三个操作的逐用户授权完全依赖 PostgreSQL 的行级安全(Row Level Security, RLS)机制。 尽管迁移脚本执行了 并创建了将 与 进行比较的策略,但从未执行 。由于 Postgre

CVSS 7.1 · High

Affected Version Matrix 1

VendorProduct Version RangeStatus
MarcosCamara01 Ecommerce Template b139a11c7bfab82b9c54c738b9a5d6015b439972< adf7dedbb41894c0bad0b33a26999b0da7e967b7 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-115453

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Cross user deletion and modification of cart and wishlist rows in Ecommerce Template through unscoped primary key queries
Source: CVE Program / CVE List V5
Vulnerability Description
Authorization Bypass Through User-Controlled Key (CWE-639) in the cart and wishlist repositories of MarcosCamara01 Ecommerce Template allows any authenticated user to delete and modify the cart and wishlist rows of any other user, because cartRepository.delete(), cartRepository.updateQuantityInternal() and wishlistRepository.delete() in src/lib/db/drizzle/repositories/ match rows by primary key alone, with no predicate on the owning user, and the per user authorization for those three operations rests on PostgreSQL row level security. The migrations run ALTER TABLE ... ENABLE ROW LEVEL SECURITY and create policies comparing app.current_user_id() with user_id, but never ALTER TABLE ... FORCE ROW LEVEL SECURITY, and PostgreSQL does not apply policies to the role that owns a table. The template uses one DATABASE_URL both to run the migrations, which create the tables, and for the application at runtime, so the application connects as the owner of the tables and the policies do not apply to it. cart_items.id and wishlist.id are sequential bigserial values, so the identifiers of rows belonging to other users can be enumerated, and the update path returns the modified row, which carries the identifier of the user it belongs to. This results in the destruction and modification of cart and wishlist contents belonging to other accounts of the installation.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过用户控制密钥绕过授权机制
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
MarcosCamara01 Ecommerce Template b139a11c7bfab82b9c54c738b9a5d6015b439972 ~ adf7dedbb41894c0bad0b33a26999b0da7e967b7 -

II. Public POCs for CVE-2026-115453

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-115453

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-115453 (1)

Vendor Advisories for CVE-2026-115453 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-115453

No comments yet


Leave a comment