chore(security): patch 5 Dependabot alerts (2026-04-30)#1574
Closed
chore(security): patch 5 Dependabot alerts (2026-04-30)#1574
Conversation
@fastify/express@^4.0.5 depends on fastify-plugin@5 which requires fastify@5; the agent's framework-mounter tests register on fastify v3 and v4, which fail with FST_ERR_PLUGIN_VERSION_MISMATCH. Reverting the bump until the agent migrates to fastify@5; #330–#333 moved to 'Could not auto-fix' on the PR.
|
Coverage Impact ⬆️ Merging this pull request will increase total coverage on 🛟 Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
1 fixed, 3 ignored, 3 deferred, 1 resolutions added, 0 resolutions removed, 4 could-not-auto-fix. | label: 🔒 security applied
Fixed
5.5.8→5.7.2(resolved)@aws-sdk/xml-builder@3.972.16pins the vulnerable5.5.8Ignored
@fastify/middie(high, middleware bypass viaignoreDuplicateSlashes) — The package is dev/test/tooling only and the exploit requires untrusted input at runtime. Pulled in only by@nestjs/platform-fastify@10.x(adevDependencyofpackages/agent), which is used in unit tests and the localpackages/_example/src/frameworks/nest-fastify-v8.tsexample. No direct import in our published source. The middleware-bypass exploit needs a server exposed to attacker-controlled URLs, which is not the case in tests/examples.@fastify/middie(critical, middleware auth bypass in child plugin scopes) — same reason as fix(typing-generator): add simple quote around the collection and field name to support unconventional characters #336 (same package, same indirect path, same lack of runtime exposure).uuid< 14.0.0 (medium, missing buffer bounds check in v3/v5/v6 whenbufis provided) — The vulnerable code path is unreachable from our code. Verified by grepping the repo: onlyv1,v4, andvalidateare imported fromuuid(packages/agent/src/utils/query-string.ts,packages/agent/src/routes/access/*.ts,packages/datasource-toolkit/src/validation/type-getter.ts,packages/datasource-customizer/src/decorators/search/filter-builder/build-uuid-field-filter.ts). The advisory affects onlyv3/v5/v6when callers pass a too-shortbuf, which we never do.Could not auto-fix
@fastify/express<= 4.0.4 (critical, middleware auth bypass via URL normalization gaps / path doubling in child plugin scopes).4.0.5, but@fastify/express@4.xis built onfastify-plugin@^5.0.0, which hard-checks forfastify@5.xat registration time. The agent'spackages/agent/test/framework-mounter.test.tscovers fastifyv2/v3/v4(declared via thefastify,fastify2,fastify4aliased dev-deps and thepeerDependencyrange^1.1.0 || ^2.0.0 || ^3.0.0 || ^4.0.0). With@fastify/express@^4.0.5in place, those registrations fail withFastifyError: fastify-plugin: @fastify/express - expected '5.x' fastify version, '3.29.5' is installed(and the same against4.29.1).@fastify/expressfrom^1.1.0→^4.0.5inpackages/agent/package.json(devDep + peerDep). Pushed in commit268bf4d. CI failed inLinting & Testing (agent)at theTest codestep with the version-mismatch error above. Reverted in commit1a57b1d.5.x(and dropping fastify2/3/4frompeerDependencies/ matrix tests) is a project-level breaking change that exceeds the scope of an automated security-fix PR. Tracking separately is recommended before the next vuln scan run.Deferred
uuid(medium,packages/agent/package.json, created 2026-04-23, < 7 days old)uuid(medium,packages/datasource-customizer/package.json, created 2026-04-23, < 7 days old)uuid(medium,packages/datasource-toolkit/package.json, created 2026-04-23, < 7 days old)(Same root cause as #339 above — likely IGNORE on next run too.)
Resolutions added
fast-xml-parser:^5.7.0plugin-aws-s3 → @aws-sdk/client-s3 → @aws-sdk/core → @aws-sdk/xml-builder → fast-xml-parser.@aws-sdk/xml-builder@3.972.16(the version satisfying@aws-sdk/core's^3.972.6) tightly pinsfast-xml-parserto exactly5.5.8.@aws-sdk/xml-builder@3.972.20+shipsfast-xml-parser@5.7.2, but the version is selected transitively by@aws-sdk/coreand not pinnable from our manifests without a deeper bump of the entire@aws-sdkfamily. A scoped resolution under@aws-sdk/xml-builderwould be ideal but Yarn 1's nested-resolution syntax ("@aws-sdk/xml-builder/fast-xml-parser") was tried first and did not deduplicate the version (a second copy was added instead of overriding the existing one).package.json(Yarn 1 ignores workspace-levelresolutions).fast-xml-parseronly appears in this single chain — verified withyarn why fast-xml-parser.Resolutions removed
None. Existing root resolutions (
tar,micromatch,qs,axios,follow-redirects,lerna/**/glob,semantic-release,hono,@hono/node-server,langsmith,lodash,lodash-es) were sampled by removing each, re-runningyarn install, and inspectingyarn why:tar→ without pin drops totar@6.2.1viasqlite3. Pin needed.micromatch→ without pin,semantic-release-slack-botpulls4.0.2(vulnerable). Pin needed.qs→ without pin,body-parser/@nestjs/platform-expresspull6.13.0(vulnerable). Pin needed.Risks
fast-xml-parser5.5.8 → 5.7.2 is a minor bump within the same major. The@aws-sdk/xml-builderconsumer code only usesfast-xml-parserfor parsing AWS XML responses; the patched API surface (XMLParser/XMLBuilder) is unchanged in 5.7.x. No behavior change beyond the patched vuln expected.Manual testing
Covered by CI (
yarn lint+yarn testmatrix per workspace).Validation
✅ CI green (after cycle-2 revert of @fastify/express bump)