summaryrefslogtreecommitdiffstats
path: root/crypto/srp
AgeCommit message (Collapse)Author
2017-12-08Standardize syntax around sizeof(foo)Rich Salz
Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4875)
2017-02-21Prevent OOB in SRP base64 code.Rich Salz
Change size comparison from > (GT) to >= (GTE) to ensure an additional byte of output buffer, to prevent OOB reads/writes later in the function Reject input strings larger than 2GB Detect invalid output buffer size and return early Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2672) (cherry picked from commit ecca16632a73bb80ee27cdec8a97f6def0a4714d)
2016-09-14Add some sanity checks around usage of t_fromb64()Matt Caswell
The internal SRP function t_fromb64() converts from base64 to binary. It does not validate that the size of the destination is sufficiently large - that is up to the callers. In some places there was such a check, but not in others. Add an argument to t_fromb64() to provide the size of the destination buffer and validate that we don't write too much data. Also add some sanity checks to the callers where appropriate. With thanks to Shi Lei for reporting this issue. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 73f0df8331910d6726d45ecaab12bd93cc48b4e2)
2016-08-26SRP_create_verifier does not check for NULL before OPENSSL_cleanseMatt Caswell
OPENSSL_cleanse() does not validate its input parameter for NULL so SRP_create_verifier() should do so instead. Otherwise a segfault will result. Alternative solution to GitHub PR#1006 Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-27Change usage of RAND_pseudo_bytes to RAND_bytesMatt Caswell
RAND_pseudo_bytes() allows random data to be returned even in low entropy conditions. Sometimes this is ok. Many times it is not. For the avoidance of any doubt, replace existing usage of RAND_pseudo_bytes() with RAND_bytes(). Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-24Fix error return value in SRP functionsMatt Caswell
The functions SRP_Calc_client_key() and SRP_Calc_server_key() were incorrectly returning a valid pointer in the event of error. Issue reported by Yuan Jochen Kang Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 308ff28673ae1a4a1b346761224b4a8851d41f58)
2016-05-18Fix SRP client key computationCynh
Signed-off-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Matt Caswell <matt@openssl.org> GH: #1017 (cherry picked from commit c9141a43e246d527ec8b5a97b98e93fc31b0f0b8)
2016-02-24CVE-2016-0798: avoid memory leak in SRPEmilia Kasper
The SRP user database lookup method SRP_VBASE_get_by_user had confusing memory management semantics; the returned pointer was sometimes newly allocated, and sometimes owned by the callee. The calling code has no way of distinguishing these two cases. Specifically, SRP servers that configure a secret seed to hide valid login information are vulnerable to a memory leak: an attacker connecting with an invalid username can cause a memory leak of around 300 bytes per connection. Servers that do not configure SRP, or configure SRP but do not configure a seed are not vulnerable. In Apache, the seed directive is known as SSLSRPUnknownUserSeed. To mitigate the memory leak, the seed handling in SRP_VBASE_get_by_user is now disabled even if the user has configured a seed. Applications are advised to migrate to SRP_VBASE_get1_by_user. However, note that OpenSSL makes no strong guarantees about the indistinguishability of valid and invalid logins. In particular, computations are currently not carried out in constant time. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-09-21Fix SRP memory leaksMatt Caswell
There were some memory leaks in the creation of an SRP verifier (both on successful completion and also on some error paths). Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit bf95cde28712cfcad90cb3975cdcb8e5c0f20fde)
2015-09-15RT4044: Remove .cvsignore files.Rich Salz
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-06-23RT3856: Fix memory leaks in test codeRussell Webb
Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 2d540402aac7a05af9c99b58864d53c0201a0b42)
2015-05-23Fix the update target and remove duplicate file updatesRichard Levitte
We had updates of certain header files in both Makefile.org and the Makefile in the directory the header file lived in. This is error prone and also sometimes generates slightly different results (usually just a comment that differs) depending on which way the update was done. This removes the file update targets from the top level Makefile, adds an update: target in all Makefiles and has it depend on the depend: or local_depend: targets, whichever is appropriate, so we don't get a double run through the whole file tree. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 0f539dc1a2f45580435c39dada44dd276e79cb88) Conflicts: Makefile.org apps/Makefile test/Makefile
2015-04-16Code style: space after 'if'Viktor Dukhovni
Reviewed-by: Matt Caswell <gitlab@openssl.org>
2015-03-25Fix RAND_(pseudo_)?_bytes returnsMatt Caswell
Ensure all calls to RAND_bytes and RAND_pseudo_bytes have their return value checked correctly Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-01-22Run util/openssl-format-source -v -c .Matt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-08-06Fix SRP buffer overrun vulnerability.Dr. Stephen Henson
Invalid parameters passed to the SRP code can be overrun an internal buffer. Add sanity check that g, A, B < N to SRP code. Thanks to Sean Devlin and Watson Ladd of Cryptography Services, NCC Group for reporting this issue.
2014-05-06- fix coverity issues 966593-966596Tim Hudson
2013-11-12srp/srp_grps.h: make it Compaq C-friendly.Andy Polyakov
PR: 3165 Submitted by: Daniel Richard G. (cherry picked from commit 2df9ec01d563f9cc2deab07e8c3391059d476592)
2013-06-13Backport single makefile from master.Ben Laurie
2012-06-03Reduce version skew: trivia (I hope).Ben Laurie
2012-02-23PR: 2727Dr. Stephen Henson
Submitted by: Bruce Stephens <bruce.stephens@isode.com> Use same construct for EXHEADER in srp/Makefile as other makefiles to cope with possibly empty EXHEADER.
2011-11-14Ignorance.Ben Laurie
2011-03-23make update (1.0.1-stable)Richard Levitte
This meant a slight renumbering in util/libeay.num due to symbols appearing in 1.0.0-stable. However, since there's been no release on this branch yet, it should be harmless.
2011-03-16Add SRP.Ben Laurie