Skip to content

Security: suppress unfixable rsa advisory, verify all 2026 CVEs already patched#137

Merged
bashandbone merged 3 commits intomainfrom
copilot/fix-security-vulnerabilities
Mar 27, 2026
Merged

Security: suppress unfixable rsa advisory, verify all 2026 CVEs already patched#137
bashandbone merged 3 commits intomainfrom
copilot/fix-security-vulnerabilities

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 26, 2026

Security audit flagged 8 vulnerabilities. 7 are already resolved in Cargo.lock; the remaining one (rsa Marvin Attack) has no upstream patch and needs explicit suppression in both cargo-deny and cargo-audit tooling.

Vulnerability Status

Advisory Package Resolution
RUSTSEC-2026-0066 astral-tokio-tar ✅ Lock has 0.6.0 (patched ≥0.6.0)
RUSTSEC-2026-0044/45/46/47/48 aws-lc-sys ✅ Lock has 0.39.0 (patched ≥0.38.0–0.39.0)
RUSTSEC-2026-0049 rustls-webpki ✅ Lock has 0.103.10 (patched ≥0.103.10)
RUSTSEC-2023-0071 rsa ⚠️ No upstream patch — suppressed with justification

Changes

  • .cargo/audit.toml (new): Suppresses RUSTSEC-2023-0071 for cargo-audit, matching the existing deny.toml ignore entry. Without this, the scheduled workflow creates a new issue on every run for an advisory with no fix. Justification: rsa enters the graph via recoco-core → sqlx → sqlx-mysql; Thread doesn't use MySQL or expose RSA private-key operations to network timing observation.

💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

Summary by Sourcery

Configure security auditing to suppress an unpatchable rsa crate advisory while keeping other 2026 vulnerabilities verified as already resolved.

Bug Fixes:

  • Prevent recurring false-positive security issues from cargo-audit for the rsa Marvin Attack advisory by explicitly ignoring it with justification.

Enhancements:

  • Add a cargo-audit configuration file aligning advisory suppression with existing cargo-deny settings for the rsa crate advisory.

Copilot AI changed the title [WIP] Fix 8 security vulnerabilities in astral-tokio-tar Security: suppress unfixable rsa advisory, verify all 2026 CVEs already patched Mar 27, 2026
Copilot AI requested a review from bashandbone March 27, 2026 00:00
@bashandbone bashandbone marked this pull request as ready for review March 27, 2026 00:09
Copilot AI review requested due to automatic review settings March 27, 2026 00:09
@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai bot commented Mar 27, 2026

Reviewer's Guide

.cargo/audit.toml is added to configure cargo-audit to ignore the known, currently-unfixable RUSTSEC-2023-0071 advisory affecting the rsa crate, with in-file justification documenting why the project is not exploitable and when to re-evaluate.

Flow diagram for handling the rsa RUSTSEC-2023-0071 advisory

flowchart TD
  Start["Start security audit"] --> CheckDeps["Resolve dependency graph"]
  CheckDeps --> RsaPath["rsa present via recoco-core → sqlx → sqlx-mysql"]

  RsaPath --> CheckAdvisory["Check RUSTSEC for rsa"]
  CheckAdvisory --> HasAdvisory{RUSTSEC-2023-0071 present?}

  HasAdvisory -->|No| CleanReport["No rsa advisory, audit passes"]
  HasAdvisory -->|Yes| UpstreamFix{Upstream patch available?}

  UpstreamFix -->|Yes| RequireUpgrade["Require dependency upgrade to patched version"]
  RequireUpgrade --> FailAudit["Audit fails until fixed"]

  UpstreamFix -->|No| ConfigIgnore{Is advisory listed in .cargo/audit.toml ignore?}

  ConfigIgnore -->|No| ReportIssue["Create/keep failing CI security issue"]
  ConfigIgnore -->|Yes| Suppress["Ignore RUSTSEC-2023-0071 with documented justification"]

  Suppress --> AuditPass["Audit passes despite known, non-exploitable rsa issue"]
  ReportIssue --> End["End"]
  CleanReport --> End
  FailAudit --> End
  AuditPass --> End
Loading

File-Level Changes

Change Details Files
Add cargo-audit configuration to suppress the unpatched rsa Marvin Attack advisory with detailed justification.
  • Introduce a new .cargo/audit.toml configuration file for cargo-audit.
  • Configure the advisories.ignore list to include RUSTSEC-2023-0071 affecting the rsa crate.
  • Document the transitive dependency path for rsa and explain why the application’s current usage is not vulnerable, including guidance to re-evaluate when an upstream fix exists.
.cargo/audit.toml

Possibly linked issues

  • #Security: 2 vulnerabilities found: PR adds cargo-audit suppression for rsa advisory and confirms affected tar dependency is already replaced/patched, addressing the report
  • #Security audit auto-issue (no explicit number): PR updates security tooling to explicitly ignore the same rsa Marvin Attack advisory raised in this audit issue.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds repository-level cargo-audit configuration to suppress an unpatchable RustSec advisory (rsa Marvin Attack) so scheduled security scans don’t continuously raise noise, while confirming other flagged advisories are already resolved via Cargo.lock.

Changes:

  • Add .cargo/audit.toml with an ignore entry for RUSTSEC-2023-0071 plus rationale (aligning with deny.toml’s existing ignore).
  • Document transitive dependency path and re-evaluation guidance for the suppression.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Adam Poulemanos <89049923+bashandbone@users.noreply.github.com>
@bashandbone bashandbone merged commit f253dec into main Mar 27, 2026
11 of 12 checks passed
@bashandbone bashandbone deleted the copilot/fix-security-vulnerabilities branch March 27, 2026 00:19
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.

3 participants