This allows a malicious coordinator to link inputs and outputs by providing each input with a unique RSA public key. Since the unblinded signatures are possibly made by different keys, the server can learn the mapping from inputs to outputs.
The blind signing process requires a server or coordinator to share the public key. The highlighted text in the announcement is misleading. I looked at the code in Whirlpool-Client and Whirlpool-Server and found that the vulnerability is not fixed.
Code:
// generate a secret bordereau. keep it private and register INPUT with blindedBordereau // bordereau will be provided with unblindedSignedBordereau to register POSTMIX with another // identity this.bordereau = ClientUtils.generateBordereau(); byte[] publicKey = WhirlpoolProtocol.decodeBytes(confirmInputMixStatusNotification.publicKey64); RSAKeyParameters serverPublicKey = ClientUtils.publicKeyUnserialize(publicKey); this.blindingParams = clientCryptoService.computeBlindingParams(serverPublicKey);
RSA keys used in the Chaumian blinding are not sent to clients by the coordinator in Ashigaru Whirlpool, as this has the potentiality to be misused by providing each coinjoin participant with a unique key to link inputs to outputs. Whilst we have seen no evidence that this has been exploited in any Zerolink protocols so far, we understand that building trust is paramount for us as a newly established development team.
There is a coordinated effort across all platforms to shit on the Ashiguru update by Wasabi wallet fans. They are becoming a cult. Very sad to see.