v2.3.2
microsoft/markitdownv2.3.2Aug 31, 2026by github-actions[bot]
Upgrading?
AI Summary
A critical security release fixing a broken-access-control vulnerability in the vendor API, alongside features for attribute edits, CLI dashboard building, and various fixes.
Key Highlights
- Fixed a critical BOLA/IDOR vulnerability allowing account takeover of other vendors by scoping vendor routes to the authenticated seller.
- Attribute edits now go through the product-change diff pipeline.
- CLI builds admin dashboard extensions with custom entry points.
- Split-order payment status reporting improved to prevent double-counting.
New Features
- CLI builds admin dashboard extensions with custom entry points.
- `create-mercur-app` pins generated projects to the CLI's release channel.
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,151
A collective list of free APIs
NousResearch/hermes-agentโ
255,993
The agent that grows with you
yt-dlp/yt-dlpโ
200,104
A feature-rich command-line audio/video downloader
Significant-Gravitas/AutoGPTโ
187,703
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.
langgenius/difyโ
159,169
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.