v2.3.2
Jeffallan/claude-skillsv2.3.2Aug 31, 2026by github-actions[bot]
Upgrading?
AI Summary
A critical security release addressing a Broken Access Control vulnerability while adding enhancements to the admin dashboard and CLI tooling.
Key Highlights
- Critical security fix for Broken Access Control (BOLA) vulnerability allowing account takeover of vendor stores.
- Vendor API routes now properly scoped to authenticated sellers to prevent unauthorized access.
- Admin dashboard improvements including accessible titles, data grid resizing, and better invite forms.
- CLI builds admin dashboard extensions and pins generated projects to the CLI's release channel.
New Features
- Attribute edits now go through the product-change diff pipeline
- CLI builds admin dashboard extensions
- create-mercur-app pins generated projects to the CLI's release channel
- Split-order payment status reporting improvements
- Cart shipping profile validation against offers
Full Release Notes
# v2.3.2 A security and hardening release. **All marketplaces running 2.3.1 or earlier should upgrade.** ## ๐ Security This release fixes a **critical broken-access-control (BOLA/IDOR)** vulnerability in the vendor API, privately reported by **[@hackchang](https://github.com/hackchang)** under coordinated disclosure. Thank you. **The issue:** the `/vendor/sellers/:id` route subtree operated on the URL `id` parameter without binding it to the authenticated seller. Any authenticated vendor could target another seller's id to read that store's full record (profile, payment details, professional/tax details), overwrite its profile, and manage its team members โ invite themselves in, change roles, remove members. In effect, full account takeover of any other vendor's store. **Weakness:** CWE-639 / CWE-862 ยท **Severity:** Critical (CVSS 3.1 ~9.3, `AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H`) **What changed:** - Every `/vendor/sellers/:id` handler is now scoped to the authenticated seller; a mismatched id no longer resolves (#1449) - Member-management routes bind `member_id` to the caller's own seller - `GET /vendor/stores` now requires member authentication (#1450) - The vendor stores query has its selectable fields restricted (#1453) A GitHub Security Advisory with a CVE request is being published from the repository's Security tab, with @hackchang credited as reporter. ## โจ Features - **Attribute edits now go through the product-change diff pipeline**, the same way product edits do (#1444) - **CLI builds admin dashboard extensions**, and a package can ship its own entry point (#1424) - **`create-mercur-app` pins generated projects to the CLI's release channel** (#1459) โ scaffolding with `@rc` no longer mixes in `latest` packages ## ๐ Fixes **Checkout & orders** - Core owns the payment webhook so carts complete as split orders (#1418) - Split-order payment status is reported correctly on the admin and store order routes (#1458) - Payment statuses are no longer double-counted (#1399) โ thanks @shin4141 - Cart shipping profiles are validated against the offer (#1417), and shipping-method cleanup is derived from offers rather than products (#1455) **Offers & attributes** - Created offer prices are attributed by rule instead of position (#1397) - New scoped-axis option values are associated with their product (#1454) - Attribute possible-values pagination fixed (#1447) โ thanks @adeaviladev01 - The pending product-change guard is actor-scoped (#1443) **Dashboards** - `RouteDrawer` dialogs have an accessible title (#1415) - The admin invite form carries the roles field, so invited admins aren't locked out (#1420) - `DataGrid` column resizing works (#1452) - The `NoRecords` empty state grows instead of overflowing (#1456) - `react-router-dom` is a peer dependency (#1426) - `dashboard-sdk` resolves plugin roots via Node and no longer emits top-level `await` (#1429) - `plugin:build` no longer races itself for `src/admin/index.mjs` (#1427) **Other** - Algolia block: the five dead `algolia.intermediate.*` subscribers removed (#1416) โ thanks @Roshan931 - Storefront drops the unused `next-intl` dependency (#1457) - Architecture docs rewritten around layers and extension zones (#1412) ## ๐ฆ Upgrading ```bash npm install @mercurjs/core@2.3.2 ``` Bump every `@mercurjs/*` package to `2.3.2` together โ they are released in lockstep. Newly scaffolded projects from `templates/basic` pin to `2.3.2` automatically. ## New Contributors - @shin4141 โ #1399 - @Roshan931 โ #1416 - @adeaviladev01 โ #1447 - @hackchang โ security report (no PR) **Full Changelog**: https://github.com/mercurjs/mercur/compare/v2.3.1...v2.3.2
Related Repositories
public-apis/public-apisโ
491,190
A collective list of free APIs
NousResearch/hermes-agentโ
256,045
The agent that grows with you
yt-dlp/yt-dlpโ
200,215
A feature-rich command-line audio/video downloader
microsoft/markitdownโ
191,537
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPTโ
187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.