From 6c03feaef5ef9be694445728f5d5a4ddabafd5c1 Mon Sep 17 00:00:00 2001 From: Paul Nothaft <53005142+the-luap@users.noreply.github.com> Date: Tue, 4 Aug 2026 14:35:57 +0200 Subject: [PATCH] fix(deps): bump ip-address, brace-expansion and postcss for open CVEs (#987) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes Trivy code-scanning alerts #414-#418 on the backend image. brace-expansion 5.0.8 -> 5.0.9 CVE-2026-69152 (high) DoS via unbounded intermediate arrays ip-address 10.2.0 -> 10.4.0 CVE-2026-69192 (high), CVE-2026-54272 and CVE-2026-69198 (medium) — SSRF and trust-boundary bypasses. Needs 10.3.1+ to clear all three. postcss 8.5.18 -> 8.5.23 CVE-2026-69153 (medium) information disclosure via crafted sourceMappingURL ip-address and brace-expansion were already in overrides but pinned below the new fixed versions; the floors just needed raising. postcss reaches the image through sanitize-html — the direct pin is not an import, it forces the transitive copy to dedupe to a known version, so it moves with the bump. Only the backend image is affected: the frontend production stage is nginx:1.30-alpine and ships no node_modules. Each lockfile now holds exactly one entry per package, all at or above the fixed version, and the image installs via npm ci --omit=dev so the lockfile is authoritative. --- backend/package-lock.json | 26 +++++++++++++------------- backend/package.json | 6 +++--- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/backend/package-lock.json b/backend/package-lock.json index 11c6f5fa..134c76a4 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,12 +1,12 @@ { "name": "picpeak-backend", - "version": "3.98.1-beta.0", + "version": "3.99.0-beta.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "picpeak-backend", - "version": "3.98.1-beta.0", + "version": "3.99.0-beta.0", "dependencies": { "@aws-sdk/client-s3": "^3.850.0", "@aws-sdk/lib-storage": "^3.850.0", @@ -47,7 +47,7 @@ "pdf-lib": "^1.17.1", "pdfkit": "^0.17.2", "pg": "^8.16.3", - "postcss": "8.5.18", + "postcss": "8.5.23", "qrcode": "^1.5.4", "react-i18next": "^15.6.0", "sanitize-html": "2.17.5", @@ -4500,9 +4500,9 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", - "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" @@ -7105,9 +7105,9 @@ } }, "node_modules/ip-address": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", - "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.4.0.tgz", + "integrity": "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==", "license": "MIT", "engines": { "node": ">= 12" @@ -10093,9 +10093,9 @@ } }, "node_modules/postcss": { - "version": "8.5.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.18.tgz", - "integrity": "sha512-xdB1oSLHbz1vRWgCDalrCqEFTWzFlhqFC5tIHLMOSUIjhm3XXQ1qrFy8S/ESr1JYRRXqM3c1QFiMZUJdUTqyMQ==", + "version": "8.5.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz", + "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==", "funding": [ { "type": "opencollective", @@ -10112,7 +10112,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.12", + "nanoid": "^3.3.16", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, diff --git a/backend/package.json b/backend/package.json index 56dadbbd..e13b4e0f 100644 --- a/backend/package.json +++ b/backend/package.json @@ -57,7 +57,7 @@ "pdf-lib": "^1.17.1", "pdfkit": "^0.17.2", "pg": "^8.16.3", - "postcss": "8.5.18", + "postcss": "8.5.23", "qrcode": "^1.5.4", "react-i18next": "^15.6.0", "sanitize-html": "2.17.5", @@ -87,13 +87,13 @@ "fast-xml-parser": ">=5.7.0", "qs": ">=6.15.2", "tar": ">=7.5.21", - "brace-expansion": ">=5.0.7", + "brace-expansion": ">=5.0.9", "minimatch": ">=9.0.7", "path-to-regexp": "0.1.13", "lodash": ">=4.18.1", "follow-redirects": ">=1.16.0", "@tootallnate/once": ">=3.0.1", - "ip-address": ">=10.1.1", + "ip-address": ">=10.3.1", "uuid": "^11.1.1", "nodemailer": "^9.0.1" }