Clatter has a PSK Validity Rule Violation issue
Clatter is a no_std compatible, pure Rust implementation of the Noise protocol framework with post-quantum support. Versiosn prior to2.2.0 have a protocol compliance vulnerability. The library allowed post-quantum handshake patterns that violated the PSK validity rule (Noise Protocol Framework Section 9.3). This could allow PSK-derived keys to be used for encryption without proper randomization by self-chosen ephemeral randomness, weakening security guarantees and potentially allowing catastrophic key reuse. Affected default patterns include `noise_pqkk_psk0`, `noise_pqkn_psk0`, `noise_pqnk_psk0`, `noise_pqnn_psk0``, and some hybrid variants. Users of these patterns may have been using handshakes that do not meet the intended security properties. The issue is fully patched and released in Clatter v2.2.0. The fixed version includes runtime checks to detect offending handshake patterns. As a workaround, avoid using offending `*_psk0` variants of post-quantum patterns. Review custom handshake patterns carefully.
References
- https://github.com/jmlepisto/clatter/security/advisories/GHSA-253q-9q78-63x4 x_refsource_CONFIRM
- https://github.com/jmlepisto/clatter/commit/b65ae6e9b8019bed5407771e21f89ddff17c5a71 x_refsource_MISC
- https://noiseprotocol.org/noise.html#validity-rule x_refsource_MISC
- https://github.com/jmlepisto/clatter/security/advisories/GHSA-253q-9q78-63x4 x_refsource_CONFIRM
- https://github.com/jmlepisto/clatter/commit/b65ae6e9b8019bed5407771e21f89ddff17c5a71 x_refsource_MISC
- https://noiseprotocol.org/noise.html#validity-rule x_refsource_MISC
Affected products
- ==< 2.2.0
Matching in nixpkgs
pkgs.typstPackages.clatter_0_1_0
Just the PDF417 generator from rxing
Package maintainers
-
@cherrypiejam Gongqi Huang