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:
|
||
---|---|---|
.. | ||
ircomm | ||
irlan | ||
irnet | ||
af_irda.c | ||
discovery.c | ||
irda_device.c | ||
iriap.c | ||
iriap_event.c | ||
irias_object.c | ||
irlap.c | ||
irlap_event.c | ||
irlap_frame.c | ||
irlmp.c | ||
irlmp_event.c | ||
irlmp_frame.c | ||
irmod.c | ||
irnetlink.c | ||
irproc.c | ||
irqueue.c | ||
irsysctl.c | ||
irttp.c | ||
Kconfig | ||
Makefile | ||
parameters.c | ||
qos.c | ||
timer.c | ||
wrapper.c |