Skip to content

GHSA-846f-f764-76mx: pin patched System.Security.Cryptography.Pkcs for Weasel.SqlServer and Weasel.Oracle - #710

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

jeremydmiller merged 1 commit into
masterfrom
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.

Two shipped Weasel packages carry a vulnerable version transitively:

Package Pulled in by Pkcs version
Weasel.SqlServer Microsoft.Data.SqlClient 6.1.3 9.0.4
Weasel.Oracle Oracle.ManagedDataAccess.Core 23.7.0 8.0.0

Upgrading the driver doesn't fix it: the latest SqlClient 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. This follows the existing SQLitePCLRaw override pattern.
  • Weasel.SqlServer.csproj and Weasel.Oracle.csproj: a direct PackageReference, so the patched floor goes into both published nuspecs. I checked by packing: both list 9.0.21 and 10.0.13 in the matching framework groups.

No version bump here. That's left for the release commit.

Verification

  • dotnet list Weasel.slnx package --vulnerable --include-transitive: before the change, 8 projects flagged Pkcs (High). After it, none do.
  • dotnet build Weasel.slnx -c Release succeeds. Tests run in CI.

The same fix for Polecat is JasperFx/polecat#767.

🤖 Generated with Claude Code

…r Weasel.SqlServer and Weasel.Oracle

CVE-2026-84008 (high, CVSS 7.5): SignedCms.CheckSignature can reparse
attacker-controlled X.509 data quadratically. Weasel.SqlServer carried the
vulnerable package transitively through Microsoft.Data.SqlClient 6.1.3
(Pkcs 9.0.4), and Weasel.Oracle through Oracle.ManagedDataAccess.Core 23.7.0
(Pkcs 8.0.0). Upgrading SqlClient would not fix it: 7.1.1 still pins 9.0.18.

Both projects now reference Pkcs directly, at 10.0.13 for net10.0 and 9.0.21
for net9.0, so the patched floor is in their published nuspecs.
`dotnet list package --vulnerable --include-transitive` is clean across the
solution.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jeremydmiller
jeremydmiller merged commit 8656f97 into master Oct 14, 2026
22 checks passed
@jeremydmiller
jeremydmiller deleted the ghsa-846f-pkcs branch October 14, 2026 15:59
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