3 changed files with 76 additions and 1 deletions
@ -0,0 +1,56 @@ |
|||||
|
# TRACK-2025-11-09: Remediate transitive `rsa` and `paste` advisories |
||||
|
|
||||
|
Status: Open |
||||
|
Owner: @maintainers (please assign) |
||||
|
Created: 2025-11-09 |
||||
|
|
||||
|
Summary |
||||
|
------- |
||||
|
|
||||
|
This tracking issue records the planned remediation work for two transitive advisories found during the local audit on 2025-11-09: |
||||
|
|
||||
|
- RUSTSEC-2023-0071 — `rsa = 0.9.8` (Marvin Attack). No safe published upgrade was available at audit time. Transitive path: `openidconnect` -> `...` -> `rsa`. |
||||
|
- RUSTSEC-2024-0436 — `paste = 1.0.15` (unmaintained). Transitive path: `rmp`/`rmpv` -> `paste`. |
||||
|
|
||||
|
Goals |
||||
|
----- |
||||
|
|
||||
|
1. Remove or replace the transitive dependency on `rsa` so the project does not depend on the vulnerable crate. |
||||
|
2. Replace or remove `paste` usage by migrating to a maintained alternative (e.g., `pastey`) or removing the transitive dependency chain. |
||||
|
3. Remove the temporary exceptions from `deny.toml` once remediation is complete. |
||||
|
|
||||
|
Plan |
||||
|
---- |
||||
|
|
||||
|
1. Repro steps |
||||
|
- Run `cargo tree -i rsa` and `cargo tree -i paste` to show the reverse dependency chain and confirm the top-level crate(s) importing them. |
||||
|
|
||||
|
2. Investigate fixes |
||||
|
- For `rsa`: identify whether `openidconnect` or another dependency directly pulls `rsa`. Check if newer published versions of the top-level crate avoid `rsa`. |
||||
|
- If no published version removes `rsa`, assess vendor or patch options: |
||||
|
- Replace `openidconnect` with an alternative OIDC client that avoids `rsa` (e.g., a crate using ring/openssl for crypto), or |
||||
|
- Submit a PR to upstream crates to adopt a constant-time implementation, or |
||||
|
- Vendor a small shim that provides the needed functionality using a vetted crypto library. |
||||
|
|
||||
|
- For `paste`: check if `rmp`/`rmpv` can be upgraded to eliminate `paste` or if a maintained fork (e.g., `pastey`) can be used. |
||||
|
|
||||
|
3. Tests and validation |
||||
|
- Add unit/integration tests for the replaced functionality (auth flows, message formats) to ensure behavior parity. |
||||
|
- Re-run audit tooling in CI and verify `cargo-deny` no longer reports the advisories. |
||||
|
|
||||
|
4. Timeline and owner |
||||
|
- Target ETA: 2026-02-01 (three months). Adjust based on investigation findings. |
||||
|
- Owner: @maintainers or assign a specific engineer. |
||||
|
|
||||
|
5. Rollback/compensating controls |
||||
|
- If remediation requires longer work, consider adding hardened monitoring, limiting feature usage, or using runtime mitigations where possible. |
||||
|
|
||||
|
Links |
||||
|
----- |
||||
|
|
||||
|
- Audit note: SECURITY-AUDIT-2025-11-09.md |
||||
|
- PR branch: remediations/audit-2025-11-09 |
||||
|
|
||||
|
Next steps |
||||
|
---------- |
||||
|
- Assign an owner, run `cargo tree -i rsa` and `cargo tree -i paste`, and update this issue with findings and the chosen remediation path. |
||||
Loading…
Reference in new issue