mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 13:01:00 +00:00
A new advisory turned the dependency audit red on the trunk without a line of our code changing: DeepmergeTS recurses without bound on deeply nested input until the stack gives out (GHSA-ggr8-5vv4-36mx, fixed in 8.0.0). Re-running the same job against the same main commit that passed on 16 August confirms it is the advisory database that moved, not us. Waiting for Prisma does not help. `@prisma/config` still asks for 7.1.5 on the current 7.9.1, so the copy never updates on its own, and an override is the only route to the patched version. The workflow reserves `auditConfig.ignoreCves` for advisories with no upstream fix, which is not this one. The reach is the config-loading and CLI path rather than anything under a request, so the practical exposure was small. The blocked release train was not. Verified rather than assumed: `pnpm audit --prod --audit-level=high`, the exact command CI runs, drops from twelve findings with one high to eleven with none and exits clean. Because this is a major bump under Prisma's own config loader, `prisma generate` and `prisma validate` were run explicitly alongside typecheck, lint, format, 21446 unit tests and the production build. All pass.
50 lines
2.0 KiB
YAML
50 lines
2.0 KiB
YAML
overrides:
|
|
"dompurify@<=3.4.10": "^3.4.11"
|
|
"postcss@<8.5.10": "^8.5.10"
|
|
"nanoid@<3.3.18": "^3.3.18"
|
|
"@hono/node-server@<1.19.13": "^1.19.13"
|
|
"hono@<4.12.25": "^4.12.25"
|
|
"picomatch@<4.0.4": "^4.0.4"
|
|
"body-parser@<2.3.0": "^2.3.0"
|
|
"fast-uri@<3.1.5": "^3.1.5"
|
|
# Address4 decoded leading-zero octets as decimal, so `010.0.0.1` parsed as
|
|
# 10.0.0.1 rather than being rejected. That is the exact alt-notation class
|
|
# `isPublicUrl` exists to catch, and this copy arrives under the MCP SDK's
|
|
# rate limiter where nothing of ours screens it.
|
|
"ip-address@<10.3.1": "^10.3.1"
|
|
"sharp@<0.35.0": "^0.35.3"
|
|
# A crafted PDF could run arbitrary JavaScript through the renderer. Our own
|
|
# copy is pinned past it in `devDependencies`, but a second copy arrives
|
|
# transitively, and `outputFileTracingIncludes` ships EVERY `pdfjs-dist@*` in
|
|
# the store into the standalone image — so an unused transitive copy is still
|
|
# a copy in the runtime image. The range is bounded on both ends deliberately:
|
|
# `pdf-parse` resolves 5.4.296, which predates the flaw and drives the local
|
|
# text-extraction path, so it must not be dragged onto a new major.
|
|
"pdfjs-dist@>=5.6.83 <6.2.108": "6.2.108"
|
|
# Deeply nested input drives DeepmergeTS into unbounded recursion until the
|
|
# stack gives out. The copy here is Prisma's: `@prisma/config` still asks for
|
|
# 7.1.5 even on the current 7.9.1, so no Prisma bump reaches it and the
|
|
# override is the only way through. It runs on the config-loading and CLI
|
|
# path, not under a request, but a red audit blocks the whole release train.
|
|
"deepmerge-ts@<8.0.0": "^8.0.0"
|
|
|
|
allowBuilds:
|
|
"@prisma/engines": true
|
|
prisma: true
|
|
core-js: false
|
|
cpu-features: false
|
|
esbuild: false
|
|
lefthook: false
|
|
msw: false
|
|
protobufjs: false
|
|
sharp: false
|
|
ssh2: false
|
|
tesseract.js: false
|
|
unrs-resolver: false
|
|
|
|
minimumReleaseAgeExclude:
|
|
- "@next/bundle-analyzer@16.2.12"
|
|
- lucide-react@1.27.0
|
|
- "@openai/codex-security@0.1.1"
|
|
- undici@8.10.0
|