Description: Luigi Auriemma has discovered some vulnerabilities in yaSSL, which can be exploited by malicious people to cause a DoS (Denial of Service) and to compromise an application using the library.
1) A boundary error exists within the "ProcessOldClientHello()" method in src/handshake.cpp. This can be exploited to cause a stack-based buffer overflow via a specially crafted SSL version 2 "Hello" packet.
Successful exploitation allows execution of arbitrary code.
2) A boundary error exists within the implementation of the input operator for SSL "Hello" packets in src/yassl_imp.cpp. This can be exploited to cause a buffer overflow via a specially crafted SSL version 3 "Hello" packet.
Successful exploitation may allow execution of arbitrary code.
3) A boundary error exists within the "HASHwithTransform::Update()" method in taocrypt/src/hash.cpp. This can be exploited to trigger an out-of-bounds read and crash an affected application via a specially crafted SSL "Hello" packet.
The vulnerabilities are confirmed in version 1.7.5. Other versions may also be affected.
Customers of the Secunia Vulnerability Intelligence solutions will automatically receive updates when new information regarding this advisory is released.
If you have new information regarding this Secunia advisory or a product in our database, please send it to us using either our web form or email us at vuln@secunia.com.
Ideas, suggestions, and other feedback are most welcome.