Skip to content

chore(security): patch Dependabot alerts (2026-05-21)#1591

Open
PMerlet wants to merge 1 commit into
mainfrom
security/2026-05-21
Open

chore(security): patch Dependabot alerts (2026-05-21)#1591
PMerlet wants to merge 1 commit into
mainfrom
security/2026-05-21

Conversation

@PMerlet
Copy link
Copy Markdown
Member

@PMerlet PMerlet commented May 21, 2026

Summary

12 fixed, 1 ignored, 1 deferred, 2 resolutions added, 0 resolutions removed. | label: 🔒 security applied

Fixed

Alert Package Ecosystem From → To Severity What was bumped
#350 mongoose npm 8.21.0 → 8.22.1 high direct dep in packages/datasource-mongo/package.json
#351 mongoose npm 8.21.0 → 8.22.1 high direct dep in packages/datasource-mongoose/package.json
#352 mongoose npm 8.21.0 → 8.22.1 high direct dep in packages/_example/package.json
#353 mongoose npm 8.21.0 → 8.22.1 high lock-file alert closed by the three direct bumps above
#354 hono npm 4.12.14 → 4.12.21 medium scoped resolution **/@modelcontextprotocol/sdk/hono (transitive via MCP SDK)
#355 hono npm 4.12.14 → 4.12.21 medium same as #354
#357 fast-uri npm 3.1.0 → 3.1.2 high scoped resolution **/ajv/fast-uri (transitive via ajv)
#358 fast-uri npm 3.1.0 → 3.1.2 high same as #357
#359 hono npm 4.12.14 → 4.12.21 medium same as #354
#360 hono npm 4.12.14 → 4.12.21 low same as #354
#361 hono npm 4.12.14 → 4.12.21 medium same as #354
#362 langsmith npm 0.5.21 → 0.6.3 high existing root resolution langsmith updated from ^0.5.18 to ^0.6.0

Ignored

  • fix(datasource sequelize): aggregation get correctly nested relation #349 ip-address (XSS in Address6 HTML-emitting methods)Vulnerable code path is unreachable from our code. The only chain to a vulnerable [email protected] is @forestadmin/agent → [email protected] → ip-address ^5.8.9. forest-ip-utils only consumes new Address6(ipv6).bigInteger() (for numeric comparison in IP-whitelist matching) and never returns/exposes the vulnerable methods Address6.group(), Address6.link(), or AddressError.parseMessage to callers. Forest Admin uses forest-ip-utils.isIpMatchesRule in packages/agent/src/routes/security/ip-whitelist.ts to validate request IPs server-side — no HTML rendering of any Address6-derived value happens anywhere in the codebase (verified with grep -rn '\.group(\|\.link(\|parseMessage' — no hits land on ip-address). [email protected] is the latest published version and is the only ip-address ^5.x consumer (other ip-address chains already pin to ^10.1.1 via existing resolutions). Forcing [email protected] here would risk breaking forest-ip-utils (its Address6.bigInteger() call was renamed in newer majors of ip-address) for no reachable-vulnerability benefit.

Deferred

Resolutions added

The existing top-level langsmith pin was edited in place (range bump ^0.5.18^0.6.0), not added — counted as the resolution-update path to fix #362 rather than a new entry.

Resolutions removed

None. All 11 existing entries in the root resolutions block were swept; each pinned package is still present in the resolved tree (none stale), and each parent chain still requests a range whose natural resolution would fall back below the pin (e.g. tar: many parents request ^6.x and would re-introduce tar 6.x; qs: [email protected] and [email protected] pin qs 6.13.0 exactly; **/socks/ip-address and **/express-rate-limit/ip-address still required because the only other ip-address chain — forest-ip-utils — is the ignored alert #349 above). Nothing was redundant.

Risks

  • mongoose 8.21.0 → 8.22.1 — patch release. CHANGELOG between 8.21 and 8.22.1 is bugfix-only (no API changes touching Forest Admin's usage patterns: model/schema definition, find/findOne/aggregate, hooks). No peer-dep bump.
  • hono 4.12.14 → 4.12.21 — patch line, used only inside MCP SDK internals (not surfaced to Forest Admin code). Behavior change is the patched header-handling fix; no API touched.
  • fast-uri 3.1.0 → 3.1.2 — pure security patch. Used only inside ajv schema URI resolution.
  • langsmith 0.5.21 → 0.6.3 — minor bump. Consumed transitively by @langchain/[email protected] and @langchain/community → @langchain/classic, both of which declare langsmith@>=0.4.0 <1.0.0, so the peer range is satisfied. No Forest Admin code imports langsmith directly. Risk surface: tracing/observability behavior in ai-proxy runtime; covered by CI.

Manual testing

Covered by CI.

Validation

✅ CI green

Note

Patch Dependabot security alerts by bumping langsmith, mongoose, and resolution overrides

  • Bumps langsmith from ^0.5.18 to ^0.6.0 in the root package.json.
  • Adds resolution overrides for **/@modelcontextprotocol/sdk/hono (^4.12.18) and **/ajv/fast-uri (^3.1.2) to force secure transitive dependency versions.
  • Updates mongoose from 8.21.0 to 8.22.1 across the mongo and mongoose datasource packages and the example package.

Macroscope summarized a38351b.

- Bump mongoose 8.21.0 → 8.22.1 in datasource-mongo, datasource-mongoose,
  and _example (GHSA, alerts #350-#353).
- Add resolution **/@modelcontextprotocol/sdk/hono ^4.12.18 to close
  alerts #354, #355, #359, #360, #361 (no parent bump available; MCP SDK
  still depends on hono ^4.11.4).
- Add resolution **/ajv/fast-uri ^3.1.2 to close alerts #357, #358.
- Update existing resolution langsmith from ^0.5.18 to ^0.6.0 to close
  alert #362.
@qltysh
Copy link
Copy Markdown

qltysh Bot commented May 21, 2026

Qlty


Coverage Impact

This PR will not change total coverage.

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants