[PATCH 00/12] btmon: multiple memory management vulnerabilities fixed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Multiple different memory management vulnerabilities were discovered in
btmon while fuzzing it with American Fuzzy Lop. Purpose of this fuzzing
effort was to find some bugs in btmon, analyse and fix them but also try
to exploit them. Also goal was to prove that fuzzing is low effort way
to find bugs that could end up being severe ones.

Most common weakness appeared to be buffer over-read which was usually
caused by missing boundary checks before accessing array. Integer
underflows were also quite common. Most interesting bug was simple
buffer overflow that was actually discovered already couple years ago
by op7ic: https://www.spinics.net/lists/linux-bluetooth/msg68898.html
but it was still not fixed. This particular vulnerability ended up being
quite easily exploitable if certain mitigation technics were disabled.

Matias Karhumaa (12):
  btmon: fix segfault caused by buffer over-read
  btmon: fix segfault caused by buffer over-read
  btmon: fix segfault caused by buffer over-read
  btmon: Fix crash caused by integer underflow
  btmon: fix stack buffer overflow
  btmon: fix multiple segfaults
  btmon: fix segfault caused by integer underflow
  btmon: fix segfault caused by integer undeflow
  btmon: fix segfault caused by buffer over-read
  btmon: fix segfault caused by buffer overflow
  btmon: fix segfault caused by integer underflow
  btmon: fix segfault caused by buffer over-read

 monitor/packet.c     | 56 +++++++++++++++++++++++++++++++++++++++++---
 monitor/sdp.c        | 21 ++++++++++++++++-
 src/shared/btsnoop.c |  5 ++++
 3 files changed, 78 insertions(+), 4 deletions(-)

-- 
2.17.1




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux