On Fri, Feb 25, 2022 at 08:11:47AM +0100, Anton Lindqvist wrote:
> On Thu, Feb 24, 2022 at 01:31:12AM -0700, Theo Buehler wrote:
> > CVSROOT:    /cvs
> > Module name:        src
> > Changes by: t...@cvs.openbsd.org    2022/02/24 01:31:12
> > 
> > Modified files:
> >     lib/libcrypto/dsa: dsa_ameth.c 
> > 
> > Log message:
> > Add sanity checks on p and q in old_dsa_priv_decode()
> > 
> > dsa_do_verify() has checks on dsa->p and dsa->q that ensure that p isn't
> > overly long and that q has one of the three allowed lengths specified in
> > FIPS 186-3, namely 160, 224, or 256.
> > 
> > Do these checks on deserialization of DSA keys without parameters. This
> > means that we will now reject keys we would previously deserialize. Such
> > keys are useless in that signatures generated by them would be rejected
> > by both LibreSSL and OpenSSL.
> > 
> > This avoids a timeout flagged in oss-fuzz #26899 due to a ridiculous
> > DSA key whose q has size 65KiB. The timeout comes from additional checks
> > on DSA keys added by miod in dsa_ameth.c r1.18, especially checking such
> > a humungous number for primality is expensive.
> > 
> > ok jsing
> 
> This broke ssh regress.

Should be fixed by dsa_ameth.c r1.34. I accidentally left in a debug
printf in there which is what generated the extra output.

> 
> > usr.bin/ssh:
> Exit: 1
> Duration: 00:00:04
> Log: 230-usr.bin-ssh.log
> 
> ==== t6 ====
> ssh-keygen -if /home/src/regress/usr.bin/ssh/dsa_ssh2.prv > t6.out1
> ssh-keygen -if /home/src/regress/usr.bin/ssh/dsa_ssh2.pub > t6.out2
> chmod 600 t6.out1
> ssh-keygen -yf t6.out1 | diff - t6.out2
> 1,37d0
> < Private-Key: (1024 bit)
> < priv:
> <     00:c7:16:fa:28:46:76:97:75:96:de:58:64:d3:aa:
> <     68:07:07:51:94:f4
> < pub: 
> <     5a:8f:b6:39:8a:47:a1:ca:02:78:a9:30:d2:95:5c:
> <     a9:b0:fb:95:fa:7e:7d:b4:c4:b4:7b:6a:5f:ad:21:
> <     bc:ef:27:f9:af:de:00:28:19:89:7a:1a:39:38:ee:
> <     b0:61:a5:c2:c6:c5:41:ec:01:5b:49:40:fa:ef:90:
> <     0a:f2:61:c5:e2:fd:7f:fb:b4:96:2a:4e:5f:f3:19:
> <     4c:08:c4:8f:67:d2:b4:fa:3f:d6:d5:df:ea:da:a9:
> <     21:9e:70:d9:a2:53:87:0e:89:8b:03:e5:34:d2:2e:
> <     72:6b:f8:e7:4d:5c:f2:0c:f5:8b:16:95:8a:f2:ed:
> <     f1:18:13:c0:61:7d:f6:e2
> < P:   
> <     00:b0:51:f9:b7:03:16:53:ba:dd:e2:70:19:b0:09:
> <     c0:f8:f2:76:3a:e0:7c:ee:10:b9:50:fa:f1:2a:8c:
> <     87:11:2e:8e:3d:7a:cf:c3:41:37:8b:35:0f:a4:74:
> <     a4:42:7e:8b:a8:b0:63:6f:d1:6a:b1:46:d1:74:b5:
> <     4b:16:75:7c:52:df:ba:07:19:ae:10:3e:e8:01:74:
> <     74:5d:ed:89:59:19:9b:fc:92:0c:7b:16:ca:1e:a5:
> <     8e:ef:ec:4e:bc:df:ff:7b:76:fd:b3:c4:bd:c0:19:
> <     a8:13:13:35:ab:ed:f9:74:c8:f7:b1:01:a6:68:0e:
> <     fb:50:ae:b8:d7:e3:80:4b:9b
> < Q:   
> <     00:de:0b:4e:37:61:5a:3d:66:8d:33:00:47:88:03:
> <     8b:99:87:82:c1:09
> < G:   
> <     00:96:42:4b:ef:33:19:c3:f1:e1:64:4b:59:28:9c:
> <     57:cc:27:50:a4:b9:17:d3:37:7e:02:05:9e:9d:63:
> <     b5:53:48:67:a6:cb:84:30:b4:57:4c:2a:6a:2e:7c:
> <     3d:1e:2a:0c:b7:a7:95:8e:79:60:98:2a:d1:78:16:
> <     18:c7:29:99:3f:69:ac:45:8e:32:1b:b6:4a:e7:96:
> <     f5:e0:eb:84:08:d7:57:52:67:20:4d:eb:f5:62:42:
> <     41:cf:4a:45:03:17:e0:3a:00:01:21:ac:d6:d0:6c:
> <     01:52:bd:aa:35:91:3b:cd:b4:f0:ad:2f:40:24:50:
> <     87:6e:10:cc:c6:41:f2:c2:4c
> *** Error 1 in . (Makefile:168 't6')
> FAILED
> 
> *** Error 1 in /home/src/regress/usr.bin/ssh (<bsd.regress.mk>:97 'regress': 
> if make -C /home/src/regress/usr.bin/ssh t6; then  echo -n "SUC...)
> robsd-regress-exec: process group exited 2

Reply via email to