Skip to content

build(deps): Bump h2 to 0.4.20 - #3441

Merged
szokeasaurusrex merged 1 commit into
masterfrom
deps/bump-h2-rustsec-2026-0258
Oct 20, 2026
Merged

szokeasaurusrex merged 1 commit into
masterfrom
deps/bump-h2-rustsec-2026-0258

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Description

Bumps h2 0.4.15 → 0.4.20 in Cargo.lock (semver-compatible, lockfile-only) to address RUSTSEC-2026-0258 (unbounded empty DATA frames).

h2 reaches the binary via objectstore-client → reqwest (http2) → hyper, used only by snapshots upload. Exploiting it requires a malicious HTTP/2 server, and the CLI only talks to Sentry's objectstore, so this is low priority.

A full cargo update was considered but would not resolve the other open RUSTSEC reports (zip needs 9.x, lru needs 0.18.x, number_prefix comes from the pinned indicatif), so this PR keeps the change to h2 only. Those other advisories were evaluated as not affecting the CLI.

Verification: cargo tree --locked accepts the lockfile without changes; cargo check --locked -p h2 -p hyper -p hyper-util passes. A full local cargo check was not possible due to a sandbox-only vendored OpenSSL build failure; relying on CI for the full build.

Issues

Action taken on behalf of Daniel Szoke.

via @szokeasaurusrex.

--

View Junior Session [Sentry]

Fixes RUSTSEC-2026-0258 (unbounded empty DATA frames).

Co-Authored-By: Daniel Szoke <7881302+szokeasaurusrex@users.noreply.github.com>
@linear-code

linear-code Bot commented Oct 20, 2026

Copy link
Copy Markdown

CLI-357

@szokeasaurusrex
szokeasaurusrex merged commit 77e1bff into master Oct 20, 2026
27 checks passed
@szokeasaurusrex
szokeasaurusrex deleted the deps/bump-h2-rustsec-2026-0258 branch October 20, 2026 12:32
szokeasaurusrex added a commit that referenced this pull request Oct 20, 2026
Adds the RUSTSEC advisories we reviewed and closed as not affecting
sentry-cli to the `ignore` input of the weekly `rustsec/audit-check`
job, so it stops re-filing issues for them. The action's built-in dedup
(by issue title) isn't reliable here: #3319 was filed even though #2978
already existed.

The action splits `ignore` on commas and trims whitespace, then passes
each ID as `cargo audit --ignore <ID>`.

| Advisory | Crate | Why it's ignored | Issue(s) |
| -- | -- | -- | -- |
| RUSTSEC-2025-0119 | number_prefix | Informational "unmaintained"
notice; comes in via the intentionally pinned `indicatif 0.14` | #2978,
#3319 |
| RUSTSEC-2026-0253 | lru | Needs `pop()` plus a key whose drop panics;
we only use `LruCache<String, ()>` and never call `pop()` | #3394 |
| RUSTSEC-2026-0285, -0346, -0348, -0349 | rustls | Only an optional
reqwest dependency in `Cargo.lock`; never compiled (`cargo tree -i
rustls --target all` is empty, we use native-tls) | #3416, #3433, #3434,
#3435 |
| RUSTSEC-2026-0367, -0368, -0369 | zip | Only affect
`ZipArchive::extract()` / stream extraction, which we don't call; our
extraction writes files manually via `enclosed_name()` + `File::create`
| #3436–#3440 |

RUSTSEC-2026-0258 (h2) is intentionally **not** ignored; it was fixed in
#3441.

These should be re-evaluated if usage of the affected crates changes
(e.g. if we start calling `zip`'s `extract()` or enable rustls).

<!-- junior-request-attribution:start -->
via @szokeasaurusrex.
<!-- junior-request-attribution:end -->

<!-- junior-session-footer:start -->
<!-- junior-conversation-id:slack%3AC0C01CK9SG2%3A1792498060.351269 -->

--

[View Junior
Session](https://junior-prod.sentry.dev/conversations/slack%3AC0C01CK9SG2%3A1792498060.351269)
[[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3AC0C01CK9SG2%3A1792498060.351269/?project=4510944073809921)

<!-- junior-session-footer:end -->

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Daniel Szoke <7881302+szokeasaurusrex@users.noreply.github.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.

RUSTSEC-2026-0258: h2 unbounded empty DATA frames

2 participants