Author: jmg
Date: Fri Jul 31 00:31:52 2015
New Revision: 286101
URL: https://svnweb.freebsd.org/changeset/base/286101

Log:
  these are comparing authenticators and need to be constant time...
  This could be a side channel attack...  Now that we have a function
  for this, use it...
  
  jmgurney/ipsecgcm:    24d704cc and 7f37a14

Modified:
  head/sys/netipsec/xform_ah.c
  head/sys/netipsec/xform_esp.c

Modified: head/sys/netipsec/xform_ah.c
==============================================================================
--- head/sys/netipsec/xform_ah.c        Fri Jul 31 00:23:21 2015        
(r286100)
+++ head/sys/netipsec/xform_ah.c        Fri Jul 31 00:31:52 2015        
(r286101)
@@ -777,7 +777,7 @@ ah_input_cb(struct cryptop *crp)
 
        /* Verify authenticator. */
        ptr = (caddr_t) (tc + 1);
-       if (bcmp(ptr + skip + rplen, calc, authsize)) {
+       if (timingsafe_bcmp(ptr + skip + rplen, calc, authsize)) {
                DPRINTF(("%s: authentication hash mismatch for packet "
                    "in SA %s/%08lx\n", __func__,
                    ipsec_address(&saidx->dst, buf, sizeof(buf)),

Modified: head/sys/netipsec/xform_esp.c
==============================================================================
--- head/sys/netipsec/xform_esp.c       Fri Jul 31 00:23:21 2015        
(r286100)
+++ head/sys/netipsec/xform_esp.c       Fri Jul 31 00:31:52 2015        
(r286101)
@@ -534,7 +534,7 @@ esp_input_cb(struct cryptop *crp)
                ptr = (caddr_t) (tc + 1);
 
                /* Verify authenticator */
-               if (bcmp(ptr, aalg, alen) != 0) {
+               if (timingsafe_bcmp(ptr, aalg, alen) != 0) {
                        DPRINTF(("%s: authentication hash mismatch for "
                            "packet in SA %s/%08lx\n", __func__,
                            ipsec_address(&saidx->dst, buf, sizeof(buf)),
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to