Werner Koch
506eb6fec6
gpg: Fix DoS while parsing mangled secret key packets.
...
* g10/parse-packet.c (parse_key): Check PKTLEN before calling mpi_read
et al.
--
Due to the missing length checks PKTLEN may turn negative. Because
PKTLEN is an unsigned int the malloc in read_rest would try to malloc
a too large number and terminate the process with "error reading rest
of packet: Cannot allocate memory".
Reported-by: Hanno Böck.
Signed-off-by: Werner Koch <wk@gnupg.org>
(backported from 2.0 commit 0aac920f23fd07e152fdb7385299c92bb9a4ade3)
2015-04-05 19:42:59 +02:00
..
2015-02-23 10:47:26 +01:00
2009-07-21 14:30:13 +00:00
2009-07-21 14:30:13 +00:00
2015-02-23 10:47:26 +01:00
2015-03-28 12:24:16 +01:00
2015-02-23 10:56:21 +01:00
2010-09-23 08:15:45 +00:00
2010-07-24 09:18:42 +00:00
2010-07-24 09:18:42 +00:00
2015-02-23 10:47:26 +01:00
2009-07-21 14:30:13 +00:00
2011-12-02 19:42:56 +01:00
2007-10-23 10:48:09 +00:00
2009-09-02 15:02:01 +00:00
2014-06-20 20:23:19 +02:00
2007-10-23 10:48:09 +00:00
2007-10-23 10:48:09 +00:00
2007-10-23 10:48:09 +00:00
2009-05-11 09:20:39 +00:00
2014-06-23 13:24:43 +02:00
2008-07-17 19:47:19 +00:00
2007-10-23 10:48:09 +00:00
2007-10-23 10:48:09 +00:00
2015-02-23 10:52:37 +01:00
2007-10-23 10:48:09 +00:00
2015-02-26 18:30:08 +01:00
2014-08-06 18:33:21 +02:00
2015-02-27 09:33:58 +01:00
2013-12-03 09:25:57 +01:00
2012-08-24 16:37:44 +02:00
2015-02-23 10:53:05 +01:00
2009-12-15 11:07:43 +00:00
2009-09-02 17:30:53 +00:00
2007-10-23 10:48:09 +00:00
2013-07-12 17:26:55 +09:00
2007-10-23 10:48:09 +00:00
2015-02-23 10:36:18 +01:00
2015-02-23 10:47:26 +01:00
2015-02-23 10:56:21 +01:00
2014-06-23 14:57:32 +02:00
2015-02-23 10:46:07 +01:00
2007-10-23 10:48:09 +00:00
2007-10-23 10:48:09 +00:00
2015-02-26 18:30:08 +01:00
2015-02-26 16:35:20 +01:00
2015-02-26 18:30:08 +01:00
2011-02-23 15:13:40 +01:00
2007-10-23 10:48:09 +00:00
2015-02-26 16:35:20 +01:00
2014-11-14 19:41:24 +01:00
2000-07-31 08:04:16 +00:00
2014-11-12 10:27:50 +01:00
2010-09-28 16:13:24 +00:00
2007-10-23 10:48:09 +00:00
2015-04-05 19:42:59 +02:00
2012-04-29 11:54:28 +02:00
2011-04-05 23:47:58 -04:00
2008-10-03 19:54:30 +00:00
2011-08-09 10:54:22 +02:00
2014-06-23 09:25:45 +02:00
2014-11-14 19:41:24 +01:00
2005-10-05 16:58:50 +00:00
2012-11-08 13:25:02 +01:00
2000-07-31 08:04:16 +00:00
2009-06-24 14:01:20 +00:00
2015-02-23 11:04:35 +01:00
2007-11-28 23:08:35 +00:00
2015-02-23 10:46:38 +01:00
2013-01-11 13:33:44 +01:00
2013-07-12 17:26:55 +09:00
2009-05-11 09:37:25 +00:00
2012-11-08 13:25:02 +01:00
2012-11-08 13:25:02 +01:00
2007-10-23 10:48:09 +00:00
2015-02-23 10:47:26 +01:00
2013-10-11 09:35:01 +02:00
2007-10-23 10:48:09 +00:00
2007-10-23 10:48:09 +00:00
2007-10-23 10:48:09 +00:00
2015-02-23 10:47:26 +01:00
2012-01-19 22:33:51 -05:00
2007-10-23 10:48:09 +00:00