v2.3.2
Armur-Ai/Pentest-Swarm-AIv2.3.2Aug 31, 2026by github-actions[bot]
Upgrading?
AI Summary
Critical security patch fixing a Broken Access Control (BOLA) vulnerability in the vendor API that allowed account takeover.
Key Highlights
- Critical BOLA vulnerability fix preventing account takeover
- Scoped vendor seller routes to authenticated seller only
- Member-management routes bind member_id to caller's seller
- Restricted selectable fields for vendor stores query
New Features
- Security hardening
- Attribute edits go through diff pipeline
- CLI builds admin dashboard extensions
- Package pinning for generated projects
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
ollama/ollamaβ
184,298
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frpβ
110,075
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflowβ
92,659
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugoβ
90,202
The worldβs fastest framework for building websites.
junegunn/fzfβ
83,722
:cherry_blossom: A command-line fuzzy finder