Skip to content

fix(deps): bump .net to 10.0.13 and pin messagepack 2.5.307 for security advisories (#166) - #168

Merged
mpcs2013 merged 4 commits into
issue/142-go-http2-exceptionsfrom
issue/166-dotnet-10-0-13
Oct 17, 2026
Merged

mpcs2013 merged 4 commits into
issue/142-go-http2-exceptionsfrom
issue/166-dotnet-10-0-13

Conversation

@mpcs2013

@mpcs2013 mpcs2013 commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

Summary

Two dependency advisories make build red on every code PR (#167, #164, the Dependabot queue). This PR fixes both. Nothing is deployed, so there was no live exposure.

1. ASP.NET Core 10.0.12 → 10.0.13

  • Advisories: GHSA-fpq8-4vhr-rcxx and GHSA-rv87-ccxw-8ggf (Critical); GHSA-494h-xx7x-5frh, GHSA-f4g7-52wc-p8x7 and GHSA-mf4x-w4gh-4656 (High). They fail the release-image scan.
  • Directory.Packages.props: the six Microsoft 10.0.12 packages go to 10.0.13.
  • dotnet-tools.json: dotnet-ef 10.0.13.
  • .github/release/base-images.Dockerfile: the aspnet and runtime 10.0-noble-chiseled-extra digests move to the 10.0.13 builds. Each digest was read two ways (registry HEAD and the MCR catalog), and the image env shows DOTNET_VERSION/ASPNET_VERSION 10.0.13.

2. MessagePack 2.5.302 → 2.5.307 (error NU1902, GHSA-qhrr-8q5h-9q3h / CVE-2026-92707, Moderate)

  • It arrives transitively: Aspire.Hosting 13.5.4 → StreamJsonRpc 2.25.29 → MessagePack.
  • It fails restore of Decisya.AppHost, so build-test, codeql and deploy-guards go red.
  • Fix: a central transitive pin (CentralPackageTransitivePinningEnabled), with no suppression. Drop the pin once Aspire's own graph carries ≥ 2.5.303.

Cooldown: Marco waived the 7-day cooldown for .NET 10.0.13 (released 2026-10-13) once, on 2026-10-17. It sets no precedent. MessagePack 2.5.307 (2026-10-03) is already past the cooldown.

Ostium freeze: no file under the frozen identity paths changes; only the versions of the OpenIdConnect and JwtBearer packages move. Ostium's packages need the same 10.0.13 bump; that goes through the exchange with Marco's approval.

Rollback: revert this PR. The advisories return and build goes red again. There is no data step.

Verification

What Where Result
dotnet restore --force-evaluate local no NU19xx
dotnet list package --vulnerable --include-transitive local none
dotnet build -warnaserror local 0 warnings, 0 errors
.NET unit tests (pre-push filters) local 1768 passed, 0 failed
.claude/tests, deploy/tests local OK (4 and 14 skipped)
G3 docs/security/threat-models/dotnet-10-0-13-messagepack.md PASS-WITH-NOTES (required: .github/release/ is a review-required path)
G6 docs/security/reviews/166.md PASS after the re-check (S-166-01, a stale date, fixed)
Release-image scan, build-test, codeql, deploy-guards CI on this PR must be green before merge

Package pin added: MessagePack 2.5.307. It is an existing transitive dependency, pinned centrally to the patched line for GHSA-qhrr-8q5h-9q3h; no new package.

Merge conditions (G3 G4-166-01/02)

  1. Stacked. This PR targets issue/142-go-http2-exceptions, so the chain is main ← chore(image-scan): renew the #120 openssl and zlib exceptions to 2026-11-02 (#143) #144 ← feat(image-scan): adr-0015 item 4 caddy go exceptions, deploy guard, collector 0.163.1 (#142) #167 ← fix(deps): bump .net to 10.0.13 and pin messagepack 2.5.307 for security advisories (#166) #168. Each stacked PR must be green on its own CI run before it merges, because the ruleset protects only main. Record each run link in the manifest:
  2. No new exception for api, bff, migrator, .NET or MessagePack. The run must show 0 blocking for those images. Re-check the CVE-2016-20013 libc6 entries on this base-image bump.
  3. Close Security: bump .NET to 10.0.13 and MessagePack to 2.5.307 (Critical/High ASP.NET Core and NU1902 advisories) #166 by hand when chore(image-scan): renew the #120 openssl and zlib exceptions to 2026-11-02 (#143) #144 merges: Closes #166 only fires on a merge into main.

Backlog (#83)

S-166-02: confirm base-image digests against a third source. S-166-03: a nuget.config with signed-package trust. The comment in the frozen tests/Decisya.Api.Tests/Authentication/TenancyDatabaseFixture.cs still says "pinned 10.0.12".

Closes #166

🤖 Generated with Claude Code

Docs: docs/ai/pipeline/166.md, docs/security/reviews/166.md

mpcs2013 and others added 4 commits October 10, 2026 16:10
#145) (#146)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…0019) (#147) (#165)

* docs(adr): consume the identity code as private ostium packages (adr-0019) (#147)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(adr): sbom lives inside each ostium package (#147)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ity advisories (#166)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…166)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mpcs2013
mpcs2013 changed the base branch from main to issue/142-go-http2-exceptions October 17, 2026 13:17
@mpcs2013
mpcs2013 merged commit b616234 into issue/142-go-http2-exceptions Oct 17, 2026
13 checks passed
mpcs2013 added a commit that referenced this pull request Oct 17, 2026
… renewals (#143) (#144)

This stack clears the red image-scan and build checks.

- #143: renews the 25 #120 OpenSSL/zlib exceptions (postgres, redis, caddy) to 2026-11-02, because
  no rebuilt images exist.
- #142: adds ADR-0015 item 4, a time-boxed exception for fixed go-module findings in caddy while no
  Caddy release carries the fix.
  - Limits: at most 14 days, Marco's dated approval in each entry, and a sunset on 2026-11-30.
  - stackctl refuses to start while any item-4 entry is present.
  - 16 caddy entries (GO-2026-6603..6613, 6617) expire 2026-10-31.
  - The OTel Collector is bumped to 0.163.1 (go1.26.9, x/net 0.61.0) under a one-off cooldown
    waiver.
- #166: .NET 10.0.13 (Critical/High ASP.NET Core advisories; one-off cooldown waiver) and a
  MessagePack 2.5.307 transitive pin (NU1902, GHSA-qhrr-8q5h-9q3h).

CI evidence:
- PR #168 (#166 into #142): CI run 39037107025, release build run 39037107037.
- PR #167 (#142 into #143): CI run 39038463651, release build run 39038463632.
- PR #144 (into main): CI run 39039810339, release build run 39039810341.
  - image-scan: postgres, redis and caddy tag state unchanged; 0 blocking everywhere; caddy has 25
    excepted (16 under item 4); otelcollector has 0 matches.
  - Release images api, bff and migrator: 0 blocking. Each has only the existing CVE-2016-20013
    libc6 entry, re-checked on the 10.0.13 base.

Next: on 2026-10-31, bump Caddy to a fixed release or open the self-build issue.

Closes #143
Closes #142
Closes #166

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Security: bump .NET to 10.0.13 and MessagePack to 2.5.307 (Critical/High ASP.NET Core and NU1902 advisories)

1 participant