Skip to content

Unblock restore: pin patched Cryptography.Pkcs, suppress ImageSharp 3.1.12 advisories - #344

Draft
elric667 wants to merge 1 commit into
Chaptarr:developfrom
elric667:fix/imagesharp-advisories
Draft

elric667 wants to merge 1 commit into
Chaptarr:developfrom
elric667:fix/imagesharp-advisories

Conversation

@elric667

@elric667 elric667 commented Nov 2, 2026

Copy link
Copy Markdown

Summary

Restore on develop fails on every project with NU1902/NU1903 (NuGet audit warnings treated as errors). No build or PR check can pass until this is fixed. Fixes #313 and #301.

A clean restore of develop (e67374f) reports eight advisories in two packages:

Package Version Advisories
SixLabors.ImageSharp 3.1.12 GHSA-j3p4-wp97-rph4, GHSA-j9gm-c75j-xc9q, GHSA-jjfr-hcj7-qf5w, GHSA-v76p-62qx-wwq2 (high); GHSA-gwg2-r3hj-4w44, GHSA-wmxv-xphr-5c9g (moderate)
System.Security.Cryptography.Pkcs 10.0.0 (transitive) GHSA-846f-f764-76mx (high), GHSA-2fmv-rv2c-59x7 (moderate)

Changes

  • System.Security.Cryptography.Pkcs: fixed. MailKit pulls it in through MimeKit, and even the newest MimeKit (4.18.x) still asks for 10.0.0. This PR pins the patched servicing release, 10.0.14, in Directory.Packages.props and references it from Chaptarr.Core. Same major version, and deps.json now resolves 10.0.14.
  • SixLabors.ImageSharp: suppressed for now, not fixed. 3.1.12 is the last 3.1.x release. The patched 3.2.0 is not a drop-in bump: it ships an MSBuild license check (SixLabors_ValidateLicense) that fails Release builds unless a Six Labors license key is configured (SixLaborsLicenseKey or a sixlabors.lic file). Debug builds only warn. I tried the bump first, and the Release build errors with "No Six Labors license found". So this PR keeps 3.1.12 and adds six NuGetAuditSuppress entries, one per advisory URL, in a commented block marked temporary. Any new advisory will still fail the build.

Follow-up for the maintainers

Getting rid of the suppressions needs one of:

  • upgrading to ImageSharp 3.2+ with a Six Labors license key set in CI; or
  • replacing ImageSharp for cover renditions (for example with SkiaSharp or NetVips).

That's a licensing decision, so I've left it to you.

Testing

  • dotnet restore src/Chaptarr.sln: no errors or warnings (before: eight advisories on every project).
  • dotnet build src/Chaptarr.sln -c Release from a clean tree: 0 errors, 0 warnings.

AI disclosure

This PR was written with Claude Code, using Claude Opus 5.5 (claude-opus-5-5, medium effort). I reviewed the change and the test results before submitting.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GXPbRG8Geef4zMeMQgpQ8H

….1.12 advisories

Restore on develop fails with NU1902/NU1903 (warnings as errors) on
every project, so no build or PR check can pass (Chaptarr#313, Chaptarr#301).

- System.Security.Cryptography.Pkcs 10.0.0 arrives transitively through
  MailKit/MimeKit (even the newest MimeKit asks for 10.0.0). Pin the
  patched 10.0.14 servicing release in Chaptarr.Core.
- SixLabors.ImageSharp 3.1.12 is the last 3.1.x release. The patched
  3.2.0 adds a build-time license-key check that fails Release builds
  without a Six Labors license key, so it is not a drop-in bump.
  Suppress its six advisories by URL, in a commented block, until the
  package is upgraded with a key or replaced.

Fixes Chaptarr#313
Fixes Chaptarr#301

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GXPbRG8Geef4zMeMQgpQ8H
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.

build: SixLabors.ImageSharp 3.1.12 high-severity advisories (NU1903) break all develop builds

1 participant