Skip to content

Conversation

@ctz
Copy link
Contributor

@ctz ctz commented Nov 29, 2025

This is for cryspen/libcrux#1220 but also affects libcrux-ml-kem.

Ideally these can be updated by the maintainers if they do analysis on the relationship between the incorrect signatures/shared secrets and the correct output.

@djc
Copy link
Contributor

djc commented Nov 29, 2025

@franziskuskiefer hey, we usually ask maintainers to confirm that they're okay with publishing an advisory. How do you feel about having this? Any additions to the text?

@pinkforest
Copy link
Contributor

pinkforest commented Nov 30, 2025

It seems to be (also) toolchain / build configuration thing, e.g. only stable-aarch64-unknown-linux-musl cryspen/libcrux#1220 (comment) given musl one doesn't expose target_feature="sha3" via build implicitly w/o -Ctarget_cpu="native" / -Ctarget-feature=+sha3 given explicitly per bjorn3 (cryspen/libcrux#1220 (comment))

so I would say it's limited to a particular aarch64 toolchain/s (used implicitly) and/or build configurations (used explicitly) that don't feature SHA3 instruction set either enabled, available or assumed (w/o cpu=native) like was in the case of alpine musl toolchain.

@jschneider-bensch
Copy link

Thank you for creating the issue. We have the following suggestion for the text:

On platforms without the core::arch::aarch64::vxarq_u64 intrinsic, an unverified fallback in libcrux-intrinsics v0.0.3 passed incorrect arguments and produced wrong results. This corrupted SHA-3 digests and caused libcrux-ml-kem and libcrux-ml-dsa to sample incorrectly, yielding incorrect shared secrets and invalid signatures.

The issue has been fixed in v0.0.4.

@djc
Copy link
Contributor

djc commented Dec 2, 2025

So maybe this should be an advisory for libcrux-intrinsics instead?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants