I found a case where CryptoPP::DSA2<...>::Signer::SignMessage() returns a signature with s = 0.
Per DSA rules, both r and s must be in [1, q-1]; if r == 0 or s == 0, signing should retry with a new nonce k (or fail), not output an invalid signature.
This seems extremely unlikely in normal usage with a proper RNG, but it is still an invalid signature and (per spec) should not be returned.
Do you consider this security-relevant / CVE-eligible, or mainly a correctness/robustness bug?
I found a case where
CryptoPP::DSA2<...>::Signer::SignMessage()returns a signature withs = 0.Per DSA rules, both
randsmust be in[1, q-1]; ifr == 0ors == 0, signing should retry with a new noncek(or fail), not output an invalid signature.
This seems extremely unlikely in normal usage with a proper RNG, but it is still an invalid signature and (per spec) should not be returned.
Do you consider this security-relevant / CVE-eligible, or mainly a correctness/robustness bug?