chore(trading-converter): bump SharpCompress 0.34.2 -> 0.48.0 (security GHSA-6c8g-7p36-r338) — Closes #7807 - #7818
Merged
Merged
Conversation
…ty, GHSA-6c8g-7p36-r338) Closes #7807. Fixes the MEDIUM-severity decompression-bomb/crash vulnerability GHSA-6c8g-7p36-r338 (the 0.34.2 baseline emitted NU1902 on every build). Not a drop-in bump: 0.48.0 ships a breaking API change — ReaderFactory.Open / WriterFactory.Open were removed (became OpenReader / OpenWriter; OpenReader now requires an explicit ReaderOptions). Bumping the version alone yields two CS0117 errors. This PR migrates both call sites in CompressionHelper.cs: decompress: ReaderFactory.Open(stream) -> OpenReader(stream, new ReaderOptions()) compress: WriterFactory.Open(s,type,opts) -> OpenWriter(s,type,opts) The entry API (MoveToNextEntry / Entry.* / WriteEntryTo / Write) is unchanged. Validation firsthand (stacked on #7813 build-break fix, so tree compiles): dotnet build -c Release: 0 errors, 3 warnings, NU1902 vuln warning GONE. 0.48.0 API surface verified via reflection; net9.0 TFM available. Stacked on #7813 (MyIA.Trading.Converter did not compile on origin/main pre-fix); GitHub auto-retargets to main once #7813 merges. Scope +3/-3, 2 files, LF-only. Co-Authored-By: Claude <noreply@anthropic.com>
jsboige
commented
Jul 22, 2026
jsboige
left a comment
Owner
Author
There was a problem hiding this comment.
[Hermes] COMMENT -- SHA e7c1282
Security bump verify : SharpCompress 0.34.2 -> 0.48.0 remedie GHSA-6c8g-7p36-r338 (decompression-bomb). Ce n'est PAS un bump drop-in -- la PR migre correctement les 2 breaking API changes :
- ReaderFactory.Open -> OpenReader(stream, ReaderOptions) OK
- WriterFactory.Open -> OpenWriter(stream, type, WriterOptions) OK
Build verifie firsthand (stacked sur #7813) : 0 erreurs, NU1902 gone. Pas de changement de logique, entry API inchangee. +3/-3 surgical. Security : clean.
Note : #7807 (dependabot) couvrait le bump de version seul ; cette PR est la vraie delivery car elle inclut la migration API requise pour compiler. Stacking sur #7813 OK (sujets independants).
jsboige
changed the base branch from
fix/trading-converter-linq-build-break
to
main
July 22, 2026 01:52
jsboige
added a commit
that referenced
this pull request
Jul 22, 2026
…udit-clean) (#7829) Clears the dotnet list --vulnerable audit flag (GHSA-cmhx-cq75-c4mj) flagged on the transitive System.Text.RegularExpressions 4.3.0. Companion to #7818 — together they make MyIA.Trading.Converter audit-clean. HONEST FRAMING — NOT a runtime-exposure fix (verified firsthand G.1): the 4.3.0 transitive is runtime-SHADOWED by the framework-bundled System.Text.RegularExpressions (9.0.x in Microsoft.NETCore.App). The runtime deps.json (single target .NETCoreApp v9.0) has ZERO references to it — the standalone package is never loaded. So this is a NuGet-audit false positive at runtime. Pinning 4.3.1 (the patched version; restores cleanly, no NU1102 unlike 4.7.x which is a runtime version not a NuGet package) is DEFENSIVE: silences the --vulnerable audit gate, and pins the transitive to its patched version at the source regardless of shadowing. It does not close a live exposure (none existed). Validation (stacked on #7818): dotnet build 0 errors/3 warnings (unchanged); dotnet list --vulnerable = "aucun package vulnérable"; CRLF=0. Scope: +1 line (direct pin), no logic change. See #7818 (real exposure fix). Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps SharpCompress 0.34.2 → 0.48.0 in
MyIA.Trading.Converter, fixing the known MEDIUM-severity decompression-bomb/crash vulnerability GHSA-6c8g-7p36-r338 (the 0.34.2 baseline emittedNU1902on every build). Closes #7807.This is NOT a drop-in bump. SharpCompress 0.48.0 ships a breaking API change: the
ReaderFactory.Open/WriterFactory.Openstatic factory methods were removed (they becameOpenReader/OpenWriter, andOpenReadernow requires an explicitReaderOptions). Verified firsthand — bumping the version alone produces twoCS0117("does not contain a definition for 'Open'") errors at the two SharpCompress call sites. This PR migrates both call sites, so the bump is genuinely verified (not an unverified version-string change).Why this is stacked on #7813
The project did not compile on
origin/main(an unrelatedSystem.Linq.Dynamic.Coreinterface-rename build break). #7813 fixes that break. This PR is based on #7813's branch so the bump can be build-verified on a compiling tree (the whole point — H.1 forbids shipping an unverified bump). GitHub will auto-retarget this PR tomainonce #7813 merges; no manual rebase needed.The migration (CompressionHelper.cs)
The two SharpCompress call sites, migrated to the 0.48.0 API:
The entry API (
reader.MoveToNextEntry(),reader.Entry.IsDirectory/.Key/.Size,reader.WriteEntryTo(...),writer.Write(...)) is unchanged in 0.48.0 — the build reported ONLY the twoOpen-rename errors, confirming no further migration is needed.Validation (H.1 firsthand, isolated worktree stacked on #7813)
ReaderFactory.OpenReader(Stream, ReaderOptions),WriterFactory.OpenWriter(Stream, ArchiveType, IWriterOptions),ReaderOptions()ctor,WriterOptions(CompressionType)ctor,IReader/IWriter/IReaderEntrymembers — all present.net9.0TFM available.Scope (anti-regression)
+3/-3across 2 files:csproj(version 0.34.2→0.48.0) +CompressionHelper.cs(2 API-call renames). No logic change.Closes #7807 (the dependency bump is delivered + verified).
Grain: MED/chore-security-bump — lane po-2026:CoursIA — prev: MED/fix-functional-bug (c.622 #7813). [Genre change fix-functional-bug→chore-security-bump (G-VAR-3 OK); family .NET/Trading-Converter consecutive (#7813→this) but R6 bans 4×family, 2× OK; distinct sub-systems — LINQ interface rename (#7813) vs SharpCompress dep version+API (this).]
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com