Repository navigation
fix(deps): opensrv-mysql → aws-lc-rs fork on rustls ≥0.23.45 (RUSTSEC-2026-0285) - #42
Merged
Merged
Conversation
…(RUSTSEC-2026-0285) opensrv-mysql 0.7.0 (crates.io, latest) pulls tokio-rustls 0.25 -> rustls 0.22, which is affected by RUSTSEC-2026-0285 (TLS 1.3 handshake messages accepted at the wrong encryption level; LOW). There is no fixed opensrv-mysql on crates.io. Redirect opensrv-mysql at the ePHPm fork of 0.7.0 (github.com/ephpm/opensrv-mysql), whose only change is tokio-rustls 0.25 -> 0.26 (rustls >= 0.23.45) pinned to aws-lc-rs (never ring). This drops rustls 0.22.4, tokio-rustls 0.25.0 and rustls-webpki 0.102.8 from the graph and bumps the existing rustls 0.23 line to 0.23.45. The opensrv-mysql tls feature and its auth-load-bearing init_after_ssl re-parse (#32) are byte-for-byte upstream; the compile-time fence in litewire-mysql still holds. deny.toml: drop the now-unused RUSTSEC-2026-0049 webpki ignore (the 0.102.8 copy is gone) and allow the fork git source. Note: a [patch] is honoured only for litewire's own builds; a downstream git consumer (ePHPm) must declare the same patch in its own root Cargo.toml.
|
ePHPm Preview — removed Preview deployment has been torn down. |
luthermonson
marked this pull request as ready for review
October 5, 2026 03:54
luthermonson
added a commit
to ephpm/ephpm
that referenced
this pull request
Oct 5, 2026
litewire#42 squash-merged; move the rev off the PR branch head (ee6fc127) onto the merge commit on litewire main. Lock delta is the litewire source rev only; rustls stays at 0.23.45 with no 0.22.x copy.
This branch was previously deployed
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.
DO NOT MERGE without review — prepared for human review, coordinate ordering with #41.
What
Fixes RUSTSEC-2026-0285 (rustls < 0.23.45 accepts TLS 1.3 handshake messages at the wrong encryption level; LOW — conformance bug, transcript stays authenticated) in litewire's dependency graph.
The only affected copy is
rustls 0.22.4, pulled byopensrv-mysql 0.7.0(crates.io latest) →tokio-rustls 0.25. There is no fixedopensrv-mysqlon crates.io. This PR redirectsopensrv-mysqlat an ePHPm-org fork of0.7.0whose sole change istokio-rustls 0.25 → 0.26(rustls ≥ 0.23.45), pinned to the aws-lc-rs provider (neverring).42efd44),[patch.crates-io]inCargo.toml.rustls 0.22.4,tokio-rustls 0.25.0,rustls-webpki 0.102.8; bumps the existingrustls 0.23line to0.23.45.deny.toml: removes the now-unusedRUSTSEC-2026-0049webpki ignore (the0.102.8copy is gone;0098/0099/0104stay — still matched by the tiberius0.101.7dev-dep), and allows the fork git source.Invariants preserved
tlsauth feature (Guard the opensrv-mysql tls feature — default-features = false would expose the CLIENT_SSL no-username path #32): the fork changes onlyCargo.toml;src/**(thetlsfeature,secure_run_with_options, and theinit_after_sslre-parse that makes CLIENT_SSL auth work) is byte-for-byte upstream0.7.0. The compile-time fence inlitewire-mysql/src/lib.rsstill holds — verified bycargo check -p litewire-mysqlagainst the fork.ring: the fork pins aws-lc-rs;cargo tree -e no-dev -i ringis empty in the production graph.rust-version = 1.71.Verified
cargo deny check advisories sources→advisories ok, sources ok(0285 no longer matches anything).cargo check -p litewire-mysqlagainst the fork → clean (fence holds).cargo treeconfirmsrustls 0.23.45, no0.22.x, noring.Coordination
ci/watch-turso) is red purely from this advisory. Merging this first (or rebasing ci: add Turso Pin Watch — daily bump PR when crates.io is ahead #41 onto it) turns ci: add Turso Pin Watch — daily bump PR when crates.io is ahead #41 green.revto this branch and declares the same[patch]in its own root (a patch does not propagate through a git dependency).Follow-up
Retire the fork/patch when a fixed
opensrv-mysqlis published to crates.io, or when litewire migrates offopensrv-mysql.