use after free in p2p code

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

 



While running the hwsim test suite with address sanitizer and undefined behavior sanitizer enabled, I got the following output from the p2p code. It seems unrelated to my current work on nl80211 control port rx.

I saw it in autogo_pbc and it is reproducible for me, if I run:

./run-tests.py autogo_2cli autogo_pbc

Markus

==53565==ERROR: AddressSanitizer: heap-use-after-free on address 0x61b000008688 at pc 0x5651c04b7bed bp 0x7ffdc000f020 sp 0x7ffdc000f010
READ of size 8 at 0x61b000008688 thread T0
    #0 0x5651c04b7bec in wpa_driver_nl80211_mlme ../src/drivers/driver_nl80211.c:3339     #1 0x5651c04bc842 in wpa_driver_nl80211_deauthenticate ../src/drivers/driver_nl80211.c:3391     #2 0x5651c04bc954 in driver_nl80211_deauthenticate ../src/drivers/driver_nl80211.c:8782     #3 0x5651c042b6bd in wpa_drv_deauthenticate /home/mtheil/Code/hostap/wpa_supplicant/driver_i.h:190     #4 0x5651c042b6bd in wpa_supplicant_deauthenticate /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:3821     #5 0x5651bff5a86c in wpas_p2p_group_delete /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:876     #6 0x5651bff857a3 in wpas_p2p_disconnect /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:8064     #7 0x5651bff85870 in wpas_p2p_disconnect_safely /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:534     #8 0x5651bff85a4e in wpas_p2p_group_remove /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:5860     #9 0x5651c0344e35 in wpa_supplicant_ctrl_iface_flush /home/mtheil/Code/hostap/wpa_supplicant/ctrl_iface.c:8045     #10 0x5651c035ce15 in wpa_supplicant_ctrl_iface_process /home/mtheil/Code/hostap/wpa_supplicant/ctrl_iface.c:10698     #11 0x5651c036a0b0 in wpa_supplicant_ctrl_iface_receive /home/mtheil/Code/hostap/wpa_supplicant/ctrl_iface_unix.c:172     #12 0x5651bfe3df15 in eloop_sock_table_dispatch ../src/utils/eloop.c:600
    #13 0x5651bfe41054 in eloop_run ../src/utils/eloop.c:1223
    #14 0x5651c042f1aa in wpa_supplicant_run /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:6890     #15 0x5651c048d4ed in main /home/mtheil/Code/hostap/wpa_supplicant/main.c:392
    #16 0x7f09e5538152 in __libc_start_main (/usr/lib/libc.so.6+0x27152)
    #17 0x5651bfdf177d in _start (/home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant+0x90677d)

0x61b000008688 is located 264 bytes inside of 1512-byte region [0x61b000008580,0x61b000008b68)
freed by thread T0 here:
    #0 0x7f09e669b6b0 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:122
    #1 0x5651bfe39658 in os_free ../src/utils/os_unix.c:768
    #2 0x5651c04c08e8 in wpa_driver_nl80211_deinit ../src/drivers/driver_nl80211.c:2888     #3 0x5651c04c0914 in driver_nl80211_deinit ../src/drivers/driver_nl80211.c:8797     #4 0x5651c042eaa4 in wpa_drv_deinit /home/mtheil/Code/hostap/wpa_supplicant/driver_i.h:30     #5 0x5651c042eaa4 in wpa_supplicant_deinit_iface /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:6382     #6 0x5651c042cde5 in wpa_supplicant_remove_iface /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:6618     #7 0x5651bff5b0b5 in wpas_p2p_group_delete /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:957     #8 0x5651bff8260b in wpas_p2p_deauth_notif /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:7557     #9 0x5651c04616b2 in wpas_event_disconnect /home/mtheil/Code/hostap/wpa_supplicant/events.c:3700     #10 0x5651c0465f1a in wpas_event_deauth /home/mtheil/Code/hostap/wpa_supplicant/events.c:3801     #11 0x5651c0465f1a in wpa_supplicant_event /home/mtheil/Code/hostap/wpa_supplicant/events.c:4414     #12 0x5651c04dace8 in mlme_event_deauth_disassoc ../src/drivers/driver_nl80211_event.c:842     #13 0x5651c04dbbef in mlme_event ../src/drivers/driver_nl80211_event.c:941     #14 0x5651c04dd6ab in do_process_drv_event ../src/drivers/driver_nl80211_event.c:2562     #15 0x5651c04dd6ab in process_global_event ../src/drivers/driver_nl80211_event.c:2724     #16 0x7f09e6550510 in nl_recvmsgs_report (/usr/lib/libnl-3.so.200+0x13510)

previously allocated by thread T0 here:
    #0 0x7f09e669baca in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5651bfe383d1 in os_malloc ../src/utils/os_unix.c:710
    #2 0x5651bfe39a6b in os_zalloc ../src/utils/os_unix.c:774
    #3 0x5651c04c2095 in wpa_driver_nl80211_drv_init ../src/drivers/driver_nl80211.c:2041     #4 0x5651c04c364c in wpa_driver_nl80211_init ../src/drivers/driver_nl80211.c:2130     #5 0x5651c0442668 in wpa_drv_init /home/mtheil/Code/hostap/wpa_supplicant/driver_i.h:19     #6 0x5651c0442668 in wpas_init_driver /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:5889     #7 0x5651c0442668 in wpa_supplicant_init_iface /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:6065     #8 0x5651c0442668 in wpa_supplicant_add_iface /home/mtheil/Code/hostap/wpa_supplicant/wpa_supplicant.c:6527     #9 0x5651bff627d1 in wpas_p2p_init_group_interface /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:2249     #10 0x5651bff6300b in wpas_p2p_get_group_iface /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:6419     #11 0x5651bff635d8 in wpas_p2p_join_start /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:5348     #12 0x5651bff64533 in wpas_prov_disc_resp /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:2793     #13 0x5651c00055d1 in p2p_process_prov_disc_resp ../src/p2p/p2p_pd.c:1583
    #14 0x5651bffc6c8b in p2p_rx_p2p_action ../src/p2p/p2p.c:1883
    #15 0x5651bffc6c8b in p2p_rx_action_public ../src/p2p/p2p.c:1918
    #16 0x5651bffc6c8b in p2p_rx_action ../src/p2p/p2p.c:1941
    #17 0x5651bff80425 in wpas_p2p_rx_action /home/mtheil/Code/hostap/wpa_supplicant/p2p_supplicant.c:7142     #18 0x5651c0453646 in wpas_event_rx_mgmt_action /home/mtheil/Code/hostap/wpa_supplicant/events.c:4026     #19 0x5651c046b512 in wpa_supplicant_event /home/mtheil/Code/hostap/wpa_supplicant/events.c:4749     #20 0x5651c04d6bc4 in mlme_event_mgmt ../src/drivers/driver_nl80211_event.c:677     #21 0x5651c04dbc47 in mlme_event ../src/drivers/driver_nl80211_event.c:949     #22 0x5651c04e48ef in process_bss_event ../src/drivers/driver_nl80211_event.c:2754     #23 0x7f09e6550510 in nl_recvmsgs_report (/usr/lib/libnl-3.so.200+0x13510)

SUMMARY: AddressSanitizer: heap-use-after-free ../src/drivers/driver_nl80211.c:3339 in wpa_driver_nl80211_mlme
Shadow bytes around the buggy address:
  0x0c367fff9080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff9090: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa
  0x0c367fff90a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff90b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff90c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c367fff90d0: fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff90e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff90f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff9100: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff9110: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c367fff9120: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==53565==ABORTING


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux