deps: qs@~6.16.0 - #7440
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
GHSA-4mjr-xmp4-gh2g affects
|
|
You're right, and I dropped that line from the description. Express only calls So this is a bump of the shipped dependency, not a patch for a live hole in 4.x. The description says that now, and points at expressjs/body-parser#761 for the nested copy. |
Consumers who installed @ui5/cli and ran "npm ci" got: npm error Missing: qs@6.15.3 from lock file The "overrides" entry forced a single qs@6.16.0 across the bundled express/body-parser tree at pack time. Overrides are producer-only, so consumers re-resolve without them, expect qs@6.15.3, and the lockfile no longer matches, breaking "npm ci". The GHSA-x5fp-wj9c-mxmx / GHSA-4mjr-xmp4-gh2g qs vulnerability that the override addressed is not applicable to the way express / body-parser use qs, so removing the override does not expose us to it. Upstream fixes are in progress but not yet consumable: the qs bumps are still open pull requests, not merged or released, so we cannot rely on the transitive dependencies alone yet: expressjs/express#7440 expressjs/body-parser#761 Dropping the override lets qs resolve naturally and keeps package.json and package-lock.json in sync.
4.xdeclaresqsas~6.15.1, which caps at6.15.3. Both CVE-2026-82417 (GHSA-4mjr-xmp4-gh2g, affects>= 2.2.5, <= 6.15.3) and CVE-2026-82562 (GHSA-x5fp-wj9c-mxmx, affects>= 6.14.2, <= 6.15.3) are patched inqs@6.16.0, so a freshnpm install express@4.22.2still lands on a vulnerableqs.Neither advisory is triggerable through Express itself. Express only calls
qs.parse, and the first one needsqs.stringify. The second needscomma: truetogether withthrowOnLimitExceeded: true, which Express never sets. The bump still moves the shippedqsto a version scanners do not flag.Both advisories are recent enough that they haven't reached the feed
npm auditreads, so it still reports 0 vulnerabilities here. The GHSA pages carry the affected ranges.This covers the direct dependency only.
body-parser@1.20.6, which is what~1.20.5resolves to, still declaresqs: ~6.15.1of its own, so its nested copy stays on 6.15.3 until expressjs/body-parser#761 lands. Referencing rather than closing #7439 for that reason.Refs #7439