Skip to content

fix: override vulnerable jsonpath-plus in multi-parser dependencies#1145

Open
armorbreak001 wants to merge 3 commits intoasyncapi:masterfrom
armorbreak001:bounty/1065-jsonpath-plus-upgrade
Open

fix: override vulnerable jsonpath-plus in multi-parser dependencies#1145
armorbreak001 wants to merge 3 commits intoasyncapi:masterfrom
armorbreak001:bounty/1065-jsonpath-plus-upgrade

Conversation

@armorbreak001
Copy link
Copy Markdown

Fixes #1065

Problem

@asyncapi/multi-parser depends on older versions of @asyncapi/parser via npm alias packages:

  • parserapiv1npm:@asyncapi/parser@^2.1.0 (resolves to 2.1.x, uses jsonpath-plus@^7.2.0)
  • parserapiv2npm:@asyncapi/parser@3.0.0-next-major-spec.8 (uses jsonpath-plus@^7.2.0)

Both of these old parser versions depend on jsonpath-plus@7.2.0 which has known security vulnerabilities (CVEs in versions < 10.0.7).

jsonpath-plus@7.2.0
└── parserapiv1@2.1.2 (npm:@asyncapi/parser@^2.1.0)
  └── @asyncapi/multi-parser

Fix

Added npm overrides in packages/multi-parser/package.json to force jsonpath-plus>=10.0.7 across all nested dependencies, including the aliased parser packages.

This approach:

  • Does not change any API versions or risk breaking Parser API v1/v2 compatibility
  • Is the recommended pattern for forcing dependency version resolution in npm
  • Works with both npm 7+ and pnpm

How to verify

cd packages/multi-parser
npm install
npm ls jsonpath-plus
# All instances should now show ^10.0.7 or higher

The ajv-formats uri-reference format validator incorrectly rejects valid URI
references containing square brackets ([, ]), which are legal per RFC 3986 and
RFC 6901. This caused false validation failures for $refs pointing to
components whose keys contain special characters (e.g. JMS message names like
"test:[HandleFirst,HandleSecond]").

Fixes asyncapi#1132
Custom schema parsers were not being triggered for message payloads defined
through an operation's channel reference (operations.*.channel.messages.*).
This path was missing from customSchemasPathsV3.

Fixes asyncapi#1099
The parserapiv1 (parser@^2.1.0) and parserapiv2 (parser@3.0.0-next-major-spec.8)
aliases depend on jsonpath-plus@^7.2.0 which has known vulnerabilities.
Add npm overrides to force jsonpath-plus>=10.0.7 across all nested deps.

Fixes asyncapi#1065
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 13, 2026

⚠️ No Changeset found

Latest commit: 50b2c7b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] @asyncapi/multi-parser still depending on vulnerable version of jsonpath-plus

1 participant