Track unresolved RSA timing advisory and deprecated Git bisync dependency #125

Open
opened 2026-10-15 10:16:14 +00:00 by hugo · 0 comments
Owner

Found during Android audit #111, after fixing the patchable Android-reachable advisories. This follow-up deliberately has no Android implementation milestone; it records explicit upstream limitations rather than disguising cargo-audit failures.

  • pgp 0.20.0 -> rsa 0.9.10: RUSTSEC-2023-0071 (Marvin timing side channel). The refreshed RustSec database (2026-10-14, commit edb58f5974b83eb8302332821cb6d389777aa351) explicitly lists no patched version, including current prereleases. Upgrading blindly does not resolve it. https://rustsec.org/advisories/RUSTSEC-2023-0071.html
  • Android decrypts locally after explicit unlock/selection; Git/HTTPS endpoints do not expose a remotely callable RSA decryption oracle. This limits the ordinary remote threat, but does not establish constant-time RSA or protect a compromised device/local timing observer. Retain compatibility with existing pass RSA keys and disclose the residual risk. Reassess upstream mitigation or a compatible pure-Rust backend when one exists; do not weaken authentication, remove RSA compatibility silently, invoke GPG, or ignore the advisory as fixed.
  • gix-protocol 0.64.0 -> bisync 0.3.0 is yanked/deprecated. Upstream archived it to avoid maintaining a tiny supply-chain dependency, not because a replacement patch exists. The locked crate checksum remains reproducible. Track a supported gix/protocol update removing it; avoid an unaudited local fork just to suppress the warning. Upstream notice: https://github.com/JM4ier/bisync

Acceptance:

  • Replace or mitigate the RSA implementation with upstream-reviewed constant-time behavior while preserving OpenPGP fixtures and Android/Apple/shared API compatibility, or document a freshly reviewed local-use exposure assessment.
  • Remove the deprecated bisync dependency through a reviewed compatible transport update.
  • Rerun cargo audit against a fresh database, distinguish Android target reachability from unrelated host/desktop packages, and pass the repository and both-ARM Android release gates.

The Android release audit must link this issue and retain an honest nonzero workspace cargo-audit result until these findings are actually resolved. No claim of a clean security audit or unrestricted release approval is made.

Found during Android audit #111, after fixing the patchable Android-reachable advisories. This follow-up deliberately has no Android implementation milestone; it records explicit upstream limitations rather than disguising cargo-audit failures. - `pgp 0.20.0 -> rsa 0.9.10`: RUSTSEC-2023-0071 (Marvin timing side channel). The refreshed RustSec database (2026-10-14, commit edb58f5974b83eb8302332821cb6d389777aa351) explicitly lists no patched version, including current prereleases. Upgrading blindly does not resolve it. https://rustsec.org/advisories/RUSTSEC-2023-0071.html - Android decrypts locally after explicit unlock/selection; Git/HTTPS endpoints do not expose a remotely callable RSA decryption oracle. This limits the ordinary remote threat, but does not establish constant-time RSA or protect a compromised device/local timing observer. Retain compatibility with existing pass RSA keys and disclose the residual risk. Reassess upstream mitigation or a compatible pure-Rust backend when one exists; do not weaken authentication, remove RSA compatibility silently, invoke GPG, or ignore the advisory as fixed. - `gix-protocol 0.64.0 -> bisync 0.3.0` is yanked/deprecated. Upstream archived it to avoid maintaining a tiny supply-chain dependency, not because a replacement patch exists. The locked crate checksum remains reproducible. Track a supported gix/protocol update removing it; avoid an unaudited local fork just to suppress the warning. Upstream notice: https://github.com/JM4ier/bisync Acceptance: - Replace or mitigate the RSA implementation with upstream-reviewed constant-time behavior while preserving OpenPGP fixtures and Android/Apple/shared API compatibility, or document a freshly reviewed local-use exposure assessment. - Remove the deprecated bisync dependency through a reviewed compatible transport update. - Rerun cargo audit against a fresh database, distinguish Android target reachability from unrelated host/desktop packages, and pass the repository and both-ARM Android release gates. The Android release audit must link this issue and retain an honest nonzero workspace cargo-audit result until these findings are actually resolved. No claim of a clean security audit or unrestricted release approval is made.
hugo added the enhancement label 2026-10-15 10:16:14 +00:00
Sign in to join this conversation.