Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Jan 2020 18:29:59 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356561 - head/sys/opencrypto
Message-ID:  <202001091829.009ITx8l079750@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Thu Jan  9 18:29:59 2020
New Revision: 356561
URL: https://svnweb.freebsd.org/changeset/base/356561

Log:
  Add stricter checking on mac key lengths.
  
  Negative lengths are always invalid.  The key length should also
  be zero for hash algorithms that do not accept a key.
  
  admbugs:	949
  Reported by:	Yuval Kanarenstein <yuvalk@ssd-disclosure.com>
  Reviewed by:	cem
  MFC after:	1 week
  Sponsored by:	Chelsio Communications
  Differential Revision:	https://reviews.freebsd.org/D23094

Modified:
  head/sys/opencrypto/cryptodev.c

Modified: head/sys/opencrypto/cryptodev.c
==============================================================================
--- head/sys/opencrypto/cryptodev.c	Thu Jan  9 18:14:48 2020	(r356560)
+++ head/sys/opencrypto/cryptodev.c	Thu Jan  9 18:29:59 2020	(r356561)
@@ -585,8 +585,8 @@ cryptof_ioctl(
 		if (thash) {
 			cria.cri_alg = thash->type;
 			cria.cri_klen = sop->mackeylen * 8;
-			if (thash->keysize != 0 &&
-			    sop->mackeylen > thash->keysize) {
+			if (sop->mackeylen > thash->keysize ||
+			    sop->mackeylen < 0) {
 				CRYPTDEB("invalid mac key length");
 				error = EINVAL;
 				SDT_PROBE1(opencrypto, dev, ioctl, error,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001091829.009ITx8l079750>