build(deps): patch postcss and uuid moderate vulnerabilities#1271
Draft
JannikStreek wants to merge 1 commit intomainfrom
Draft
build(deps): patch postcss and uuid moderate vulnerabilities#1271JannikStreek wants to merge 1 commit intomainfrom
JannikStreek wants to merge 1 commit intomainfrom
Conversation
- Add pnpm override `postcss@<8.5.10` -> `>=8.5.10` to resolve GHSA-qx2v-qp2m-jg93 (XSS via unescaped </style> in stringify output). Affects @angular-devkit/build-angular's transitive postcss; bumps 8.5.6 -> 8.5.12. - Bump frontend `uuid` 13.0.0 -> 14.0.0 to resolve GHSA-w5hq-g745-h8pq (missing buffer bounds check in v3/v5/v6 when buf is provided). Major bump; codebase only uses v4() and validate(), whose APIs are unchanged. - Add pnpm override `@compodoc/compodoc>uuid` -> `>=14.0.0` to patch compodoc's direct uuid usage as well. Backend `uuid` is intentionally left at 11.1.0: uuid 14 is pure ESM, and bumping it breaks ts-jest's CJS loader. Backend code only calls `validate()` (no buffer arg) and `v4()` (already throws RangeError on bad bounds), so the residual advisory is not functionally exploitable. The remaining `compodoc>...>http-auth>uuid@8.3.2` advisory path is a CJS-only dev-doc tool dependency; forcing uuid 14 (ESM-only) into that chain breaks compodoc, and it is not part of the runtime, build, or test pipeline.
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
pnpm auditreported 4 moderate advisories across 2 distinct CVEs. This PR resolves the safe ones and documents the residuals.</style>postcss(transitive of@angular-devkit/build-angular)postcss@<8.5.10→>=8.5.10; bumps 8.5.6 → 8.5.12teammapper-frontend>uuid13.0.0@compodoc/compodoc>uuid11.1.0>=14.0.0teammapper-backend>uuid11.1.0@compodoc/compodoc>@compodoc/live-server>http-auth>uuid8.3.2After this PR,
pnpm auditreports 2 moderate (down from 4).Major-version note (uuid 13 → 14)
uuid 14 is a major release. The frontend codebase only uses
v4()andvalidate()(teammapper-frontend/src/app/core/services/mmp/mmp.service.ts,.../import/import.service.ts), and both APIs are unchanged across 11→14. Tests and lint pass. The only side effect is a peer-dep warning fromvis-data/vis-network(compodoc devDep doc-tool) which lags the supported uuid range — not part of the runtime/build path.Residuals (intentionally not fixed)
teammapper-backend>uuid@11.1.0. uuid 14 is pure ESM, while uuid 11 still shipped dual CJS/ESM. Bumping the backend breaks ts-jest's CJS loader (SyntaxError: Unexpected token 'export'fromdist-node/index.js). Making Jest transform uuid through ts-jest under pnpm's symlink layout is non-trivial and out of scope for a security patch. Functional impact of the advisory on this codebase is nil: the only callsites arevalidate()(no buffer arg) andv4()(already throwsRangeErroron bad bounds); the bug only affectsv3/v5/v6with caller-suppliedbuf/offset.@compodoc/compodoc>@compodoc/live-server>http-auth>uuid@8.3.2. http-auth is CJS andrequire()s uuid; forcing v14 (ESM-only) into that chain breaks compodoc. compodoc is a doc-only devDep run viapnpm doc; it's not part of the runtime, build, or test pipeline.Test plan
pnpm install— cleanpnpm audit— 4 moderate → 2 moderatepnpm --filter teammapper-frontend run tsc— passpnpm --filter teammapper-frontend run lint— passpnpm --filter teammapper-frontend run test— 17/17 suites, 163/163 tests passpnpm --filter teammapper-backend run lint— passpnpm --filter teammapper-backend run test— 16/28 suites pass, 12 fail withconfig error - missing env.POSTGRES_DATABASE(pre-existing baseline; identical fail count onmain). All 259 tests that ran passed.Generated by Claude Code