From 919e9a53e43da0082f704b860fa70796c83f3c60 Mon Sep 17 00:00:00 2001 From: simon Date: Sun, 4 Aug 2013 19:34:00 +0000 Subject: [PATCH] Avoid trying to take the modular inverse of zero in response to a sufficiently silly DSA signature. git-svn-id: svn://svn.tartarus.org/sgt/putty@9989 cda61777-01e9-0310-a592-d414129be87e --- sshdss.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sshdss.c b/sshdss.c index bf6c3ba5..3ea36952 100644 --- a/sshdss.c +++ b/sshdss.c @@ -276,6 +276,12 @@ static int dss_verifysig(void *key, char *sig, int siglen, return 0; } + if (!bignum_cmp(s, Zero)) { + freebn(r); + freebn(s); + return 0; + } + /* * Step 1. w <- s^-1 mod q. */ -- 2.11.0