crypto: lrw - Fix out-of bounds access on counter overflow
authorOndrej Mosnacek <omosnace@redhat.com>
Thu, 13 Sep 2018 08:51:31 +0000 (10:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2018 19:15:07 +0000 (11:15 -0800)
commite86f4842f84a4494227aa4d1ab76acb68d86fb1a
tree7e12cd357c153fbd05722697de638752f907b6d4
parent51f62e827191f4ba02c2a001b9e6f25605bfa649
crypto: lrw - Fix out-of bounds access on counter overflow

commit fbe1a850b3b1522e9fc22319ccbbcd2ab05328d2 upstream.

When the LRW block counter overflows, the current implementation returns
128 as the index to the precomputed multiplication table, which has 128
entries. This patch fixes it to return the correct value (127).

Fixes: 64470f1b8510 ("[CRYPTO] lrw: Liskov Rivest Wagner, a tweakable narrow block cipher mode")
Cc: <stable@vger.kernel.org> # 2.6.20+
Reported-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
crypto/lrw.c