Harbor
v2.15.3Storage & DataA security-focused maintenance release with numerous vulnerability fixes, dependency updates, and defensive limits. It also includes routine correctness, logging, and dependency maintenance changes.
Action needed (16)
securityPath traversal in distribution endpoints
Harbor fixes a path traversal vulnerability in distribution endpoints, tracked as GHSA-qj39-pjf2-wmrc.
securitySystem robot administrator escalation
Harbor fixes an issue where a system robot with
user:updatecould make itself a system administrator, tracked as GHSA-w5fq-xrhj-j7g2.securityRobot cross-project takeover through global scope
Harbor fixes a flaw where the Robot "cover all projects" scope could become a global wildcard and grant
robot:update, enabling cross-project robot takeover and owner lockout. The issue is tracked as GHSA-xq2m-cj8w-56v5.securityAuth-proxy
adminauthorization inheritanceHarbor fixes an authorization flaw where an external auth-proxy identity named
admininherited Registry system-administrator authorization. The issue is tracked as GHSA-xvh7-74g6-29xw.securityImmutable tag rule selector matching
Harbor fixes immutable tag rule matching so that all repository and tag selectors are evaluated instead of only the first. The issue is tracked as GHSA-27f2-qg57-2gwg.
securityWebhook delivery SSRF
Harbor fixes an SSRF issue in webhook delivery that could let a ProjectAdmin reach internal services and cloud metadata endpoints. The issue is tracked as GHSA-2phj-cp9f-qq6w.
securityScanner bearer authorization request handling
Harbor fixes scanner bearer authorization requests that disabled TLS verification and read the full response body. The issue is tracked as GHSA-884q-mjcg-86x4.
securityJobservice webhook response decompression
Harbor prevents webhook error responses from causing unbounded decompression in Jobservice. The issue is tracked as GHSA-jw3v-7jvc-pfmx.
securityRegistry chunk upload
LocationheadersHarbor validates the
Locationheaders reused during Registry chunk uploads. The issue is tracked as GHSA-wjpm-hv5w-gxr6.securityVulnerability and Content-Trust pull policy enforcement
Harbor fixes a bypass of vulnerability and Content-Trust pull policies caused by an attacker-controlled
User-Agentheader. The issue is tracked as GHSA-wrw5-gmvj-gf23.securityRegistry replication pagination
LinkhandlingHarbor fixes SSRF and credential disclosure through an attacker-controlled pagination
Linkheader in the Registry replication client. The issue is tracked as GHSA-xgp2-5vxg-rgh2.securitySecurity middleware after
AuthModelookup failureHarbor fixes security middleware behavior after an
AuthModelookup failure. The issue is tracked as GHSA-3x7c-wf86-mjx6.securityProxy-cache poisoning through robot-name prefixes
Harbor prevents proxy-cache poisoning through a robot-name prefix.
securityGo dependency updates for CVE fixes
Harbor upgrades Go dependencies to fix CVEs.
breakingManifest upload size limit
Harbor adds a size limit for manifest uploads.
breakingAudit log payload size limit
Harbor adds a size limit for audit log payloads.
Check if affected (1)
security
scanner_registration.filteringaccess_cred Applies if
scanner_registration.is configured.access_cred Harbor adds the missing
filter:"false"handling forscanner_registration.to address the scanner credential disclosure issue. The issue is tracked as GHSA-vwvv-675v-p6rr.access_cred
All 32 other recorded changesvalue changes 17 · fixes 6 · constraints 4
value changes (17)
- * (cherry-pick) neutralize CSV formula in scan export by @stonezdj in https://github.com/goharbor/harbor/pull/23696
- * [cherry pick] Remove hardcoded credentials and prevernt passwords in logs by @jUDASmILE in https://github.com/goharbor/harbor/pull/23865
- * [cherry pick] improve HTTP client request logging and credential str… by @jUDASmILE in https://github.com/goharbor/harbor/pull/23876
- * [cherry pick]refactor: sanitize connection details in logs and enhance error messa… by @jUDASmILE in https://github.com/goharbor/harbor/pull/23886
- * chore(deps): bump the patch-updates group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23728
- * bump golang to v1.26.7 and refresh base image by @stonezdj in https://github.com/goharbor/harbor/pull/23797
- * Bump trivy(0.74.0) and trivy adapter(0.39.0) by @stonezdj in https://github.com/goharbor/harbor/pull/23796
- * (cherry-pick): bump golang.org/x/crypto to v0.55.0 by @stonezdj in https://github.com/goharbor/harbor/pull/23825
- * Bump up distribution version by @stonezdj in https://github.com/goharbor/harbor/pull/23811
- * chore(deps): bump github.com/go-asn1-ber/asn1-ber from 1.5.8-0.20250403174932-29230038a667 to 1.5.8 in /src by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23905
- * chore(deps): bump github.com/go-openapi/runtime from 0.32.2 to 0.33.2 in /src by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23909
- * chore(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.19.19 to 1.20.3 in /src by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23908
- * chore(deps): bump golang.org/x/sync from 0.22.0 to 0.23.0 in /src by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23904
- * chore(deps): bump github.com/jackc/pgx/v5 from 5.10.0 to 5.11.0 in /src by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23902
- * chore(deps): bump the patch-updates group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23844
- * chore(deps): bump the kubernetes group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/goharbor/harbor/pull/23898
- * Bump up distribution version and refresh base image by @stonezdj in https://github.com/goharbor/harbor/pull/23991
fixes (6)
- * (cherry-pick) fix: avoid panic in user audit event resolver on nil event data (#23461) by @Aloui-Ikram in https://github.com/goharbor/harbor/pull/23501
- * (cherry-pick) fix: Constrain /registries/ping to the saved URL for existing registries (#23463) by @Aloui-Ikram in https://github.com/goharbor/harbor/pull/23502
- * cherry-pick: fix(ui): use dark login background in dark mode by @bupd in https://github.com/goharbor/harbor/pull/23539
- * (cherry-pick) fix: convert setup_timestamp, status_revision, and revision columns to bigint to avoid Y2K38 overflow (#23711) by @stonezdj in https://github.com/goharbor/harbor/pull/23719
- * (cherry-pick): query robot account to validate proxy session and fix UT by @stonezdj in https://github.com/goharbor/harbor/pull/23780
- * [CHERRY-PICK] fix(gc): do not count blobs missing from storage as freed space by @velmoga in https://github.com/goharbor/harbor/pull/23980
constraints (4)
- * (cherry-pick) Add a size limit for manifest uploads by @Aloui-Ikram in https://github.com/goharbor/harbor/pull/23503
- * (cherry-pick) add size limit for audit log payload by @stonezdj in https://github.com/goharbor/harbor/pull/23758
- * make hostname comparisons case-insensitive by @stonezdj in https://github.com/goharbor/harbor/pull/23833
- * (cherry-pick) make endpoint handling and validation case-insensitive by @stonezdj in https://github.com/goharbor/harbor/pull/23887
A weekly email arrives when a release needs action. Like the security patches and breaking changes in this release.