Skip to content

GHSA-846f-f764-76mx: pin patched System.Security.Cryptography.Pkcs, and Polecat 5.40.2 - #767

Merged
jeremydmiller merged 1 commit into
mainfrom
ghsa-846f-pkcs
Oct 14, 2026
Merged

jeremydmiller merged 1 commit into
mainfrom
ghsa-846f-pkcs

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Summary

GHSA-846f-f764-76mx / CVE-2026-84008 (high, CVSS 7.5) is a quadratic-CPU DoS in SignedCms.CheckSignature in System.Security.Cryptography.Pkcs.

Polecat pulls that package in transitively through Microsoft.Data.SqlClient 7.0.0, which pins Pkcs 9.0.13 (vulnerable) on both net9.0 and net10.0. That reaches Polecat, Polecat.AspNetCore and Polecat.EntityFrameworkCore, and from there every consumer. Upgrading SqlClient doesn't fix it: the latest release, 7.1.1, still pins 9.0.18.

Change

  • Directory.Packages.props: one Pkcs version per target framework, 10.0.13 for net10.0 and 9.0.21 for net9.0. These are the first patched versions on each line.
  • src/Polecat/Polecat.csproj: a direct PackageReference, so the patched floor goes into the published nuspec. I checked by packing: the nuspec lists 9.0.21 and 10.0.13 in the matching framework groups.
  • Version bumped to 5.40.2.

The same bump also clears GHSA-2fmv-rv2c-59x7 (moderate) on the same package.

Verification

  • dotnet list polecat.slnx package --vulnerable --include-transitive: before the change, all 10 projects flagged Pkcs 9.0.13 (High). After it, none of them report any vulnerable package.
  • dotnet build polecat.slnx -c Release succeeds. The full test suite runs in CI.

Marten and Fisher were checked the same way. Neither has this vulnerability in any shipped package.

🤖 Generated with Claude Code

…nd Polecat 5.40.2

CVE-2026-84008 (high, CVSS 7.5): SignedCms.CheckSignature can reparse
attacker-controlled X.509 data quadratically. Polecat carried the vulnerable
package transitively through Microsoft.Data.SqlClient 7.0.0 (Pkcs 9.0.13) on
both target frameworks. Bumping SqlClient does not help: 7.1.1 still pins
9.0.18.

Polecat now references System.Security.Cryptography.Pkcs directly, at 10.0.13
for net10.0 and 9.0.21 for net9.0, so the patched floor is in the published
nuspec and reaches consumers. This also clears GHSA-2fmv-rv2c-59x7 (moderate)
on the same package. `dotnet list package --vulnerable --include-transitive`
is clean across the solution.

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.

1 participant