Repository navigation
fix(security): patch Next.js, Zod and Nest HTTP dependencies - #53
Merged
Merged
Conversation
Pin Next.js 16.4.1 in web/admin and Zod 4.6.6 in API/database. Verify a CLI 55.0.11-specific Zod override against actual Expo schemas and exports, with explicit optional MCP absence guards. Preserve strict-low audit policy and all accepted-risk records.
Pin body-parser 2.4.0 and Multer 2.5.0 for exact Express/Nest parents. Verify actual Nest parser rejection, compressed-stream handling, multipart limits and upload cleanup with bounded regressions. Preserve all prior Next.js/Zod fixes and audit policy.
david-developer
marked this pull request as ready for review
October 25, 2026 11:31
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.
Six unaccepted framework/HTTP dependency advisories blocked mandatory CI. This security correction pins the minimum compatible releases while preserving the strict-low audit policy and accepted-risk records.
Dependencies:
@expo/cli@55.0.11>zod:4.6.6fixes GHSA-mrhx-c7xc-m3w5.express@5.2.1>body-parser:2.4.0and@nestjs/platform-express@11.2.6>multer:2.5.0fix GHSA-27r3-jxmh-p828 and GHSA-q7qp-rjg7-q26m. Published compatible Nest11 patch releases retain vulnerable Multer, so Common/Core/Platform remain 11.2.6 and Express remains 5.2.1. Required qs6.16.1 is scoped to body-parser; Express keeps its existing qs.Compatibility tests exercise actual installed Expo schemas/output parsing and bounded Zod collection rejection. Three additional child-process fixtures exercise actual Nest defaults/interceptors: JSON/form parsing, malformed/oversized/encoded requests, compressed-stream errors and liveness, multipart exact/+1 limits, rejection, cancelled disk-upload cleanup and late async filter resumption after teardown. Memory/time bounds and ephemeral loopback servers isolate synthetic requests. Negative controls with cached original packages reproduce the precise uncaught Gunzip and Busboy crashes; patched fixtures pass without masking server errors.
Expo MCP limitation: optional
expo-mcp/@expo/mcp-tunnelare absent and unreachable in the installed graph. Their Zod3 converter is incompatible with Zod4 schemas. The package-absence guard requires revisiting the CLI override before adding them; current CLI/schema/export/browser paths are validated.The marketplace pagination browser test now waits for the actual replacement-city request before asserting its cursor; it also verifies the preserved purpose and returned listing. The public-reputation test identifies the unavailable-reputation alert when separate sign-in feedback is also present. Existing navigation, unsent-filter, rating, privacy and stale-data assertions remain intact. Both corrections change tests only; saved traces reproduce the original failures.
Fresh local PASS:
Reviewed head
871614368672ad2c314973b46a63dc03ae7a4bd5, tree119c19be98e9334418ea20ab66aa783ab16846c3, base6be8d222470946b08660a060d602d2be35714bf2. Fresh push CI40094183083 and PR CI40094185983 both completed SUCCESS, attempt1: 20/20 mandatory gates and27/27 total steps successful, zero failures/skips. Actual PR checkout4109823dcdc9ed6d0338f59d2a5b53a575a23777has ordered base/head parents and exactly the reviewed tree. Both full logs confirm DB544/API81/startup76/workspace units74 across11tasks, marketplace204/staff22, all lint/typecheck/build tasks and Web/iOS/Android exports passing, zero test failures/skips/cancels/retries. Complete eleven-file review found no blocking current-graph issue. Authorization/CSRF, application source, media safeguards, migrations, workflows and risk-policy records are preserved.Existing worktrees/PR52, environment files, credentials, media and recovery evidence remain untouched. Local database tests used an owned disposable tmpfs PostGIS instance at localhost5433/pachi_test; it was stopped/removed after passing. No existing database/container was altered. PR53 remains draft/unmerged with no auto-merge. Recommended for owner merge review. No deployment or G3-I2 refresh. G3-wide acceptance remains NOT RUN.