File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
advisories/hackage/cryptonite Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` toml
2+ [advisory ]
3+ id = " HSEC-2025-0002"
4+ cwe = []
5+ keywords = [" crypto" , " historical" ]
6+ related = [" GHSA-w5vr-6qhr-36cc" ]
7+
8+ [[affected ]]
9+ package = " cryptonite"
10+ [[affected .versions ]]
11+ introduced = " 0.1.0"
12+
13+ [[references ]]
14+ type = " ARTICLE"
15+ url = " https://portswigger.net/daily-swig/dozens-of-cryptography-libraries-vulnerable-to-private-key-theft"
16+ [[references ]]
17+ type = " ADVISORY"
18+ url = " https://github.com/advisories/GHSA-w5vr-6qhr-36cc"
19+ [[references ]]
20+ type = " EVIDENCE"
21+ url = " https://hackage.haskell.org/package/cryptonite-0.30/docs/src/Crypto.PubKey.Ed25519.html#ccryptonite_ed25519_sign"
22+
23+ ```
24+
25+ # Double Public Key Signing Function Oracle Attack on Ed25519
26+
27+ The standard specification of Ed25519 message signing involves providing the
28+ algorithm with a message and private key.
29+
30+ The function will use the private key to compute the public key and sign the message.
31+ Some libraries provide a variant of the message signing function that also takes
32+ the pre-computed public key as an input parameter.
33+
34+ Some libraries were allowing arbitrary public keys as inputs without checking
35+ if the input public key corresponds to the input private key.
36+
37+ This shortcoming means that an attacker could use the signing function as an
38+ Oracle, perform crypto-analysis and ultimately get at secrets.
39+ For example, an attacker who can’t access the private key but can access
40+ the signing mechanism through an API call could use several public keys and
41+ messages to gradually build up insights into private key parameters.
You can’t perform that action at this time.
0 commit comments