Tracking issue — Container Image Vulnerability Remediation (Q3 2026)
3,147 vulnerability findings across 26 container images in CREDEBL Hub and Verifier deployments. 97% have fixes available.
This is the parent tracking issue. Work is split into 9 assignable sub-issues by Deployment (Hub/Verifier) and Severity (CRIT/HIGH/MED/LOW) , plus one transversal Accepted-Risk issue.
Report (original): [Aug 26 2026 scan report]
Related: #1728 (platform npm vulns — PR #1729 merged Sep 7)
Progress matrix
Sub-issue
Deployment
Severity
Findings
Upstream / Owned (approx)
Status
Progress
Owner
Re-scan result
#1750
Hub
CRITICAL
155
~95% / ~5%
🟡 Open
33%
—
—
#1751
Hub
HIGH
1,059
~85% / ~15%
🟡 Open
50%
—
—
#1752
Hub
MEDIUM
858
~70% / ~30%
🟡 Open
0%
—
—
#1753
Hub
LOW
183
~50% / ~50%
🟡 Open
0%
—
—
#1754
Verifier
CRITICAL
68
~90% / ~10%
🟡 Open
0%
—
—
#1755
Verifier
HIGH
366
~85% / ~15%
🟡 Open
0%
—
—
#1756
Verifier
MEDIUM
398
~70% / ~30%
🟡 Open
0%
—
—
#1757
Verifier
LOW
46
~50% / ~50%
🟡 Open
0%
—
—
#1758
All
Accepted Risk
—
—
🟢 Documented
100%
—
—
Total
3,147
0/8 closed
46% overall
Update the Status / Progress / Re-scan columns above whenever a sub-issue is updated or re-scanned.
Progress % is test-based (unlike the earlier estimate): computed by pnpm security:progress (npm version gates + behavioral spec presence from security/verification-targets.json). Container/OS/Go targets are verifiable only by image re-scan and count 0% until then. Regression proof: 18 CI suites / 211 tests passing (pnpm jest --config jest.ci.config.js --runInBand). Gate enforcement opt-in: RUN_SECURITY_GATES=true pnpm test:security:gates.
Execution order
P0 — Rebuild base images (biggest impact, lowest risk) → Hub Security (Hub): remediate CRITICAL container image vulnerabilities #1750 -1753; Verifier Security (Verifier): remediate CRITICAL container image vulnerabilities #1754 -1757
P1 — Shared Node.js bumps (apply to all 16 Hub NestJS + Verifier services) → CRITICAL + HIGH issues
P2 — Go module bumps (cred-controller + NATS) → CRITICAL + HIGH issues
P3 — Major bumps (schedule per-service) → MEDIUM + LOW issues
Re-scan after each phase; update this matrix
Success criteria
0 CRITICAL findings across Hub + Verifier after P0 + P1
HIGH findings reduced by >80% after P2
All remaining MEDIUM/LOW documented in #1758 with accepted-risk justification
All 8 severity sub-issues closed; #1758 reflects final accepted-risk state
Hub images (20 images)
NestJS services (16) — identical vuln profile
All 16 v2.2.0 services share Alpine 3.23 base and same dependency set. One fix applies to all 16.
Image
Findings
Critical
High
Packages
Each NestJS service (×16)
114
7
53
43
Other Hub images
Image
Platform
Findings
Critical
High
Packages
seed-v2.1.4-alpha.11
Alpine 3.21
239
17
132
69
nats-2.12.4-alpine
Alpine 3.22
76
10
36
7
nats-2.12.3
Scratch
53
8
22
4
nats-2.12.4
Scratch
50
8
21
4
Verifier images (6 images)
Image
Platform
Findings
Critical
High
Packages
credo-controller-v2.2.0
Debian 12
318
28
160
52
verifier-service-20
Alpine 3.22
182
12
66
18
trust-service-2
Alpine 3.22
158
9
54
18
consent-management-2
Alpine 3.22
40
3
18
4
(2 unmapped images)
—
194
16
68
—
Note: Verifier images are built in the external Verifier repo; work tracked here, PRs open there.
Severity breakdown (original)
Severity
Hub
Verifier
Total
CRITICAL
155
68
223
HIGH
1,059
366
1,425
MEDIUM
858
398
1,256
LOW
183
46
229
Remediation plan (P0–P4)
P0 — Base image rebuilds (~600+ findings, lowest effort)
Package
Current
Target
Findings
Risk
go/stdlib (Verifier)
1.16.2, 1.20.7, 1.23.12
1.26.5 toolchain
~253
Low
go/stdlib (Hub NATS)
1.25.5, 1.25.6
1.26.5
~72
Low
openssl
3.5.4, 3.5.5
3.5.7 LTS
~170
Low
openssl/openssl
3.0.16, 3.3.6, 3.5.5
3.5.7 LTS
~22
Low
musl
1.2.5
1.2.6
varies
Low
zlib
1.3.1
1.3.2
varies
Low
xz-utils
5.4.1, 5.8.1
5.8.3
varies
Low
perl
5.36.0, 5.40.1
5.42.2
varies
Low
glibc
2.41
2.44
varies
Low
P1 — Shared Node.js bumps (all 16 Hub services + Verifier)
Package
Current
Target
Effort
Risk
axios
1.13.x, 1.16.0
1.19.0
minor
Low
handlebars
4.7.8
4.7.9
patch
Low
lodash
4.17.21
4.18.1
minor
Low
form-data
4.0.4, 4.0.5
4.0.6
patch
Low
websocket-driver
0.7.4
0.7.5
patch
Low
ws
8.17-8.19
8.21.2
minor
Low
qs
6.14.0
6.15.3
minor
Low
@grpc/grpc-js
1.14.2
1.14.4
patch
Low
tar-fs
3.x
latest 3.x
minor
Low
brace-expansion
2.0.2
2.1.4
override
Low
fast-uri
3.1.0
3.1.6
patch
Low
ip-address
10.1.0
10.5.0
minor
Low
socket.io-parser
—
latest
patch
Low
cross-spawn
—
latest
patch
Low
engine.io
—
latest
patch
Low
follow-redirects
1.15.11
1.16.0
minor
Low
@opentelemetry/propagator-jaeger
2.0.1
2.10.0
minor
Low
@protobufjs/utf8
1.1.0
1.1.2
patch
Low
validator
—
latest
patch
Low
@nestjs/microservices
—
latest
patch
Low
P2 — Go module bumps (cred-controller + NATS)
Package
Current
Target
Effort
Risk
golang.org/x/crypto
v0.46/v0.0.0
v0.54.0
go get
High
golang.org/x/net
v0.0.0-2020
v0.55.0
go get
High
golang.org/x/text
v0.3.3
v0.31.0
go get
High
golang.org/x/sys
varies
v0.47.0
go get
High
google.golang.org/grpc
v1.29.1
v1.81.1
go get
Low
github.com/gogo/protobuf
v1.3.1
v1.3.2
patch
Low
P3 — High-effort major bumps (schedule separately)
Package
Current
Target
Notes
Node.js
22.22.2
26.x
Runtime major bump
pnpm
9.15.3
11.20.0
Package manager major
protobufjs
7.5.4
8.7.1
Changes codegen
fast-xml-parser
4.5.3
5.10.1
Major
basic-ftp
5.0.5
6.2.0
Major
tough-cookie
2.5.0
6.0.2
Major
multer
old
2.x
Major
nodemailer
7.0.10
9.0.3
Major
@opentelemetry/exporter-prometheus
0.202.0
0.221.0
Major
ajv
6.12.6
8.20.0
Major
glob
old
9.x
ESM-only
P4 — Accepted risk / deferred → #1758
Package
Reason
request
Deprecated, no fix available
@babel/core
Dev-only (jest)
aws-sdk v2
Separate migration effort
fs (npm)
Security placeholder, not real dep
OS packages (busybox, systemd, etc.)
Handled in P0 base image rebuild
Tracking issue — Container Image Vulnerability Remediation (Q3 2026)
3,147 vulnerability findings across 26 container images in CREDEBL Hub and Verifier deployments. 97% have fixes available.
This is the parent tracking issue. Work is split into 9 assignable sub-issues by Deployment (Hub/Verifier) and Severity (CRIT/HIGH/MED/LOW), plus one transversal Accepted-Risk issue.
Report (original): [Aug 26 2026 scan report]
Related: #1728 (platform npm vulns — PR #1729 merged Sep 7)
Progress matrix
Execution order
Success criteria
Hub images (20 images)
NestJS services (16) — identical vuln profile
All 16 v2.2.0 services share Alpine 3.23 base and same dependency set. One fix applies to all 16.
Other Hub images
Verifier images (6 images)
Severity breakdown (original)
Remediation plan (P0–P4)
P0 — Base image rebuilds (~600+ findings, lowest effort)
P1 — Shared Node.js bumps (all 16 Hub services + Verifier)
P2 — Go module bumps (cred-controller + NATS)
P3 — High-effort major bumps (schedule separately)
P4 — Accepted risk / deferred → #1758
request@babel/coreaws-sdkv2fs(npm)