This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate nanopub

Dependencies

(9 total, 2 outdated, 1 insecure)

CrateRequiredLatestStatus
 base64^0.220.22.1up to date
 rsa ⚠️^0.9.80.9.8insecure
 sophia^0.90.9.0up to date
 regex^1.101.11.1up to date
 serde^1.01.0.219up to date
 chrono^0.4.350.4.40up to date
 reqwest^0.120.12.15up to date
 getrandom^0.20.3.2out of date
 rand_core^0.60.9.3out of date

Dev dependencies

(2 total, all up-to-date)

CrateRequiredLatestStatus
 wasm-pack^0.130.13.1up to date
 tokio^1.361.44.2up to date

Crate nanopub-cli

Dependencies

(3 total, all up-to-date)

CrateRequiredLatestStatus
 clap^4.54.5.36up to date
 clap_complete^4.54.5.47up to date
 tokio^1.361.44.2up to date

Crate nanopub-sign

Dependencies

(3 total, 2 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 pyo3 ⚠️^0.230.24.1out of date
 pythonize^0.230.24.0out of date
 tokio^1.361.44.2up to date

Crate nanopub-js

Dependencies

(7 total, all up-to-date)

CrateRequiredLatestStatus
 wasm-bindgen^0.20.2.100up to date
 wasm-bindgen-futures^0.40.4.50up to date
 wasm-bindgen-derive^0.30.3.0up to date
 js-sys^0.30.3.77up to date
 console_error_panic_hook^0.10.1.7up to date
 serde^1.01.0.219up to date
 serde-wasm-bindgen^0.60.6.5up to date

Dev dependencies

(1 total, all up-to-date)

CrateRequiredLatestStatus
 wasm-bindgen-test^0.30.3.50up to date

Security Vulnerabilities

rsa: Marvin Attack: potential key recovery through timing sidechannels

RUSTSEC-2023-0071

Impact

Due to a non-constant-time implementation, information about the private key is leaked through timing information which is observable over the network. An attacker may be able to use that information to recover the key.

Patches

No patch is yet available, however work is underway to migrate to a fully constant-time implementation.

Workarounds

The only currently available workaround is to avoid using the rsa crate in settings where attackers are able to observe timing information, e.g. local use on a non-compromised computer is fine.

References

This vulnerability was discovered as part of the "Marvin Attack", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.

pyo3: Risk of buffer overflow in `PyString::from_object`

RUSTSEC-2025-0020

PyString::from_object took &str arguments and forwarded them directly to the Python C API without checking for terminating nul bytes. This could lead the Python interpreter to read beyond the end of the &str data and potentially leak contents of the out-of-bounds read (by raising a Python exception containing a copy of the data including the overflow).

In PyO3 0.24.1 this function will now allocate a CString to guarantee a terminating nul bytes. PyO3 0.25 will likely offer an alternative API which takes &CStr arguments.