I saw elsewhere some discussions on an error (or backdoor) in socat but find it difficult to get from the (anyway not well ordered and fairly large volume) materials the essence of what had actually happened. Apparently a certain number involved was claimed to have not been properly chosen. But exactly which number and why it was inappropriate (such that I could eventually check the claim)? Thanks in advance.
1 Answer
I think there are plentiful of sources to answer your question, but to give you the key points from http://arstechnica.com/security/2016/02/crypto-flaw-was-so-glaring-it-may-be-intentional-eavesdropping-backdoor/:
... when using the Diffie-Hellman method to establish a cryptographic key, Socat used a non-prime parameter to negotiate the key, an omission that violates one of the most basic cryptographic principles.
The details of why this is a problem need a much deeper explanation and mathematics is involved. See a recent question on crypto.so for details: How does a non-prime modulus for Diffie-Hellman allow for a backdoor?.
The relevant commit which added the backdoor is here.