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

Crate zenoh-transport

Dependencies

(29 total, 5 outdated, 1 insecure, 1 possibly insecure)

CrateRequiredLatestStatus
 async-trait^0.1.890.1.89up to date
 crossbeam-utils^0.8.210.8.21up to date
 flume^0.11.10.12.0out of date
 futures^0.3.310.3.32up to date
 lazy_static^1.5.01.5.0up to date
 lz4_flex ⚠️^0.10.00.13.0out of date
 rand^0.8.50.10.1out of date
 ringbuffer-spsc^0.1.150.2.2out of date
 rsa ⚠️^0.9.90.9.10insecure
 serde^1.0.2251.0.228up to date
 sha3^0.10.80.11.0out of date
 tokio^1.47.11.52.0up to date
 tokio-util^0.7.160.7.18up to date
 tracing^0.1.410.1.44up to date
 zenoh-buffers=1.9.01.9.0up to date
 zenoh-codec=1.9.01.9.0up to date
 zenoh-config=1.9.01.9.0up to date
 zenoh-core=1.9.01.9.0up to date
 zenoh-crypto=1.9.01.9.0up to date
 zenoh-link=1.9.01.9.0up to date
 zenoh-link-commons=1.9.01.9.0up to date
 zenoh-protocol=1.9.01.9.0up to date
 zenoh-result=1.9.01.9.0up to date
 zenoh-runtime=1.9.01.9.0up to date
 zenoh-shm=1.9.01.9.0up to date
 zenoh-stats=1.9.01.9.0up to date
 zenoh-sync=1.9.01.9.0up to date
 zenoh-task=1.9.01.9.0up to date
 zenoh-util=1.9.01.9.0up to date

Dev dependencies

(2 total, all up-to-date)

CrateRequiredLatestStatus
 zenoh-protocol=1.9.01.9.0up to date
 zenoh-util=1.9.01.9.0up 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.

lz4_flex: Decompressing invalid data can leak information from uninitialized memory or reused output buffer

RUSTSEC-2026-0041

Decompressing invalid LZ4 data with the block API can leak data from uninitialized memory, or leak content from previous decompression operations when reusing an output buffer.

The LZ4 block format defines a "match copy operation" which duplicates previously written data or data from a user-supplied dict. The position of that data is defined by an offset. lz4_flex did not properly validate offset values, causing it to copy data from outside the initialized portion of the output buffer.

Two scenarios are affected:

  • Decompressing with the unsafe implementation (safe-decode feature flag disabled, which is the default): can leak content of uninitialized memory as part of the decompressed result.
  • Decompressing into a reused, user-supplied output buffer (also affects safe-decode): can leak the previous contents of the output buffer as part of the decompressed result.

Only the block-based APIs are affected. All frame APIs are unaffected.

The flaw was corrected in versions 0.11.6 and 0.12.1 by properly validating offset values during decompression.

If upgrading is not possible, the issue can be mitigated by zeroing the output buffer before each call to the affected functions and enabling the safe-decode feature flag.