Skip to content

fix(security): drop rsa by using the aws-lc-rs backend for jsonwebtoken - #131

Merged
JanZachmann merged 2 commits into
omnect:mainfrom
JanZachmann:fix/jwt-aws-lc-rs
Oct 6, 2026
Merged

JanZachmann merged 2 commits into
omnect:mainfrom
JanZachmann:fix/jwt-aws-lc-rs

Conversation

@JanZachmann

@JanZachmann JanZachmann commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • jsonwebtoken uses the aws_lc_rs backend instead of rust_crypto. The rsa crate and the other RustCrypto crates it pulled in are no longer in Cargo.lock.
  • Remove Cargo.audit.ignore. Its only entry was RUSTSEC-2023-0071; a stale ignore would hide the advisory if rsa comes back through another crate.
  • Bump version to 1.2.7.

Reason

cargo audit reported RUSTSEC-2023-0071 (Marvin Attack) for rsa, which has no fixed version. It came in only through jsonwebtoken's rust_crypto backend. The aws_lc_rs backend supports both algorithms the backend uses: RS256 to verify Keycloak tokens and HS256 for its own session tokens. aws-lc-rs is already in the build through rustls and reqwest, so no new crypto library is added. The Keycloak tests sign and verify RS256 tokens with the new backend.

After this change cargo audit reports no vulnerability; only the bincode and proc-macro-error "unmaintained" warnings from crux remain.

jsonwebtoken's rust_crypto backend pulls in the rsa crate, which has an
advisory without a fix (RUSTSEC-2023-0071). The aws_lc_rs backend does
RS256 and HS256 without it, and aws-lc-rs is already in the build
through rustls.

Bump version to 1.2.7.

Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
rsa is no longer a dependency, so the ignore entry is not needed. Keeping
it would hide the advisory if rsa comes back through another crate.

Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
@JanZachmann
JanZachmann merged commit 96fe42a into omnect:main Oct 6, 2026
2 checks passed
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.

1 participant