fix(infra): bump lettre to 0.11.22 (RUSTSEC-2026-0141)#571
Merged
Conversation
The weekly Security Audit workflow has failed since 2026-05-17 on RUSTSEC-2026-0141 (critical, 9.1): lettre's boring-tls backend silently disabled TLS hostname verification. Kaiku builds lettre with native-tls, so the vulnerable code path was never compiled, but the advisory fails cargo audit regardless. Lockfile-only update; also drops now-unused transitive crates (chumsky, psm, stacker). Verified locally with CI's exact cargo audit invocations, cargo deny check licenses, clippy, and the full server test suite (943 tests passing). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The windows-latest runner image now ships CMake 4.x, which removed compatibility with cmake_minimum_required < 3.5 — audiopus_sys's bundled Opus fails to configure. The CMAKE_POLICY_VERSION_MINIMUM=3.5 workaround already existed for macOS; apply it on Windows too (shell: bash so the $GITHUB_ENV redirect works on the pwsh-default runner). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Detair
added a commit
that referenced
this pull request
Jun 10, 2026
…#572) The OSV Scanner job was the last red job in the Security Audit workflow after #571. It flagged: - openssl 0.10.76 — eight CVEs from the 2026 OpenSSL batch → 0.10.80 (transitive via native-tls: reqwest/openidconnect/sentry/lettre) - actix-http 3.12.0 — GHSA-xhj4-vrgc-hr34 → 3.12.1. Lockfile-only: pulled in by sentry-actix's optional dep resolution, never compiled (cargo tree -i finds no path). - mermaid 11.14.0 — four XSS-class CVEs → 11.15.0 - audiopus_sys (RUSTSEC-2026-0150) and proc-macro-error2 (RUSTSEC-2026-0173) — unmaintained-only advisories with no fixed release → justified ignore entries in .osv-scanner.toml, matching cargo-audit/cargo-deny tolerance. Verified: clippy clean, cargo deny licenses ok, client vitest 581 passed. Co-authored-by: Claude Fable 5 <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
Fixes the Security Audit workflow, which has failed on every scheduled run since 2026-05-17 (4 consecutive failures).
lettre≤0.11.21'sboring-tlsintegration silently disables TLS hostname verification.tokio1-native-tls(Cargo.toml:116), so the vulnerableboring-tlscode path was never compiled. The advisory still failscargo audit.cargo update -p lettre→ 0.11.22. Lockfile-only change; also drops now-unused transitive crates (chumsky,psm,stacker).Completes a Goal 1 item from
docs/developer-guide/project/goals.md(restore green CI).Verification
cargo auditwith CI's exact ignore flags — passes (advisory cleared, only allowed warnings remain)cargo audit --deny yanked— passescargo deny check licenses— passesSQLX_OFFLINE=true cargo clippy -p vc-server -- -D warnings— cleancargo test -p vc-server— 943 passed, 0 failed (433 ignored env-specific)Cargo.lockchanges, so merging this will re-run it automatically.🤖 Generated with Claude Code