linux/net/irda
Tyler Hicks 46b57f8191 irda: Only insert new objects into the global database via setsockopt
The irda_setsockopt() function conditionally allocates memory for a new
self->ias_object or, in some cases, reuses the existing
self->ias_object. Existing objects were incorrectly reinserted into the
LM_IAS database which corrupted the doubly linked list used for the
hashbin implementation of the LM_IAS database. When combined with a
memory leak in irda_bind(), this issue could be leveraged to create a
use-after-free vulnerability in the hashbin list. This patch fixes the
issue by only inserting newly allocated objects into the database.

CVE-2018-6555

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Reviewed-by: Seth Arnold <seth.arnold@canonical.com>
Reviewed-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-10-03 04:10:07 +01:00
..
ircomm net: irda: fix wait_until_sent poll timeout 2015-03-18 15:07:25 +00:00
irlan net/irda: fixed style issues in irlan_eth 2013-07-16 12:16:03 -07:00
irnet net: misc: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
af_irda.c irda: Only insert new objects into the global database via setsockopt 2018-10-03 04:10:07 +01:00
discovery.c net/irda: Fix FSF address in file headers 2013-12-06 12:37:57 -05:00
irda_device.c net/irda: Fix FSF address in file headers 2013-12-06 12:37:57 -05:00
iriap.c irda: small read past the end of array in debug code 2013-04-19 17:32:31 -04:00
iriap_event.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
irias_object.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
irlap.c net/irda: Fix FSF address in file headers 2013-12-06 12:37:57 -05:00
irlap_event.c irda: irlap_event: Fix set-but-unused variables. 2011-04-17 16:59:09 -07:00
irlap_frame.c net: irda: using kzalloc() instead of kmalloc() to avoid strncpy() issue. 2013-05-19 15:10:47 -07:00
irlmp.c irda: precedence bug in irlmp_seq_hb_idx() 2015-11-18 22:34:34 +00:00
irlmp_event.c Fix common misspellings 2011-03-31 11:26:23 -03:00
irlmp_frame.c net: return operator cleanup 2010-09-23 14:33:39 -07:00
irmod.c net: convert usage of packet_type to read_mostly 2009-03-10 05:22:43 -07:00
irnetlink.c genetlink: only pass array to genl_register_family_with_ops() 2013-11-19 16:39:05 -05:00
irproc.c irda: irproc: Fix set-but-unused variables. 2011-04-17 16:59:50 -07:00
irqueue.c irda: Fix lockdep annotations in hashbin_delete(). 2017-03-16 02:27:15 +00:00
irsysctl.c net: Convert uses of typedef ctl_table to struct ctl_table 2013-06-13 02:36:09 -07:00
irttp.c net/irda: fixed style issues in irttp 2013-07-19 17:34:40 -07:00
Kconfig [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
Makefile [IrDA]: Netlink layer. 2007-07-10 22:16:43 -07:00
parameters.c net/irda: Fix FSF address in file headers 2013-12-06 12:37:57 -05:00
qos.c net/irda: Fix FSF address in file headers 2013-12-06 12:37:57 -05:00
timer.c treewide: Replace incomming with incoming in all comments and strings 2013-01-03 16:15:49 +01:00
wrapper.c net: replace remaining __FUNCTION__ occurrences 2008-03-05 20:47:47 -08:00