No description
Find a file
Michael Braun 99c1789ab1 PASN: Fix ASAN error in ptksa_cache_add()
==19798==ERROR: AddressSanitizer: heap-use-after-free on address 0x6110000663f8 at pc 0x55a2c485a232 bp 0x7ffeb42dcaf0 sp 0x7ffeb42dcae0
READ of size 8 at 0x6110000663f8 thread T0
Connect STA wlan0 to AP
     0x55a2c485a231 in ptksa_cache_add ../src/common/ptksa_cache.c:310
     0x55a2c4398045 in hostapd_store_ptksa ../src/ap/wpa_auth_glue.c:943
     0x55a2c4430980 in wpa_auth_store_ptksa ../src/ap/wpa_auth.c:232
     0x55a2c44578e1 in sm_WPA_PTK_PTKINITDONE_Enter ../src/ap/wpa_auth.c:3650
     0x55a2c44578e1 in sm_WPA_PTK_Step ../src/ap/wpa_auth.c:3798
     0x55a2c44578e1 in wpa_sm_step ../src/ap/wpa_auth.c:4437
     0x55a2c445d99d in wpa_receive ../src/ap/wpa_auth.c:1411
     0x55a2c43e7747 in ieee802_1x_receive ../src/ap/ieee802_1x.c:1118
     0x55a2c43bbf73 in hostapd_event_eapol_rx ../src/ap/drv_callbacks.c:1542
     0x55a2c43bbf73 in wpa_supplicant_event ../src/ap/drv_callbacks.c:1932
     0x55a2c466cb2d in drv_event_eapol_rx ../src/drivers/driver.h:6074
     0x55a2c466cb2d in nl80211_control_port_frame ../src/drivers/driver_nl80211_event.c:2822
     0x55a2c466cb2d in process_bss_event ../src/drivers/driver_nl80211_event.c:3194
     0x7feed9e90b9b in nl_cb_call ./include/netlink-private/netlink.h:145
     0x7feed9e90b9b in recvmsgs ./lib/nl.c:1006
     0x7feed9e90b9b in nl_recvmsgs_report ./lib/nl.c:1057
     0x7feed9e91058 in nl_recvmsgs ./lib/nl.c:1081
     0x55a2c45f2e8c in wpa_driver_nl80211_event_receive ../src/drivers/driver_nl80211.c:1782
     0x55a2c44b9afa in eloop_sock_table_dispatch ../src/utils/eloop.c:603
     0x55a2c44be122 in eloop_run ../src/utils/eloop.c:1228
     0x55a2c43360bf in hostapd_global_run /home/mbr/hostapd/hostapd/main.c:451
     0x55a2c43360bf in main /home/mbr/hostapd/hostapd/main.c:898
     0x7feed8ce20b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
     0x55a2c432f3fd in _start (/home/mbr/hostapd/hostapd/hostapd+0x9f23fd)

0x6110000663f8 is located 184 bytes inside of 216-byte region [0x611000066340,0x611000066418)
freed by thread T0 here:
     0x7feeda1477cf in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf)
     0x55a2c44ce56b in os_free ../src/utils/os_unix.c:773
     0x55a2c451a986 in radius_msg_free ../src/radius/radius.c:137
     0x55a2c4527104 in radius_client_msg_free ../src/radius/radius_client.c:261
     0x55a2c452f53c in radius_client_list_add ../src/radius/radius_client.c:715
     0x55a2c452f53c in radius_client_send ../src/radius/radius_client.c:807
     0x55a2c453b24c in accounting_sta_report ../src/ap/accounting.c:352
     0x55a2c453d6e9 in accounting_sta_stop ../src/ap/accounting.c:384
     0x55a2c44190fd in ap_free_sta ../src/ap/sta_info.c:194
     0x55a2c4934530 in handle_deauth ../src/ap/ieee802_11.c:6035
     0x55a2c4934530 in ieee802_11_mgmt ../src/ap/ieee802_11.c:6399
     0x55a2c43bf114 in hostapd_mgmt_rx ../src/ap/drv_callbacks.c:1468
     0x55a2c43bf114 in wpa_supplicant_event ../src/ap/drv_callbacks.c:1912
     0x55a2c465faf7 in mlme_event_mgmt ../src/drivers/driver_nl80211_event.c:823
     0x55a2c4661774 in mlme_event ../src/drivers/driver_nl80211_event.c:1135
     0x55a2c466c43b in process_bss_event ../src/drivers/driver_nl80211_event.c:3177
     0x7feed9e90b9b in nl_cb_call ./include/netlink-private/netlink.h:145
     0x7feed9e90b9b in recvmsgs ./lib/nl.c:1006
     0x7feed9e90b9b in nl_recvmsgs_report ./lib/nl.c:1057

previously allocated by thread T0 here:
     0x7feeda147bc8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
     0x55a2c44cd387 in os_malloc ../src/utils/os_unix.c:715
     0x55a2c44ceb7f in os_zalloc ../src/utils/os_unix.c:779
     0x55a2c451a9f2 in radius_msg_new ../src/radius/radius.c:109
     0x55a2c4539a6e in accounting_msg ../src/ap/accounting.c:46
     0x55a2c453be15 in accounting_report_state ../src/ap/accounting.c:439
     0x55a2c453d91d in accounting_init ../src/ap/accounting.c:534
     0x55a2c4378952 in hostapd_setup_bss ../src/ap/hostapd.c:1333
     0x55a2c4382530 in hostapd_setup_interface_complete_sync ../src/ap/hostapd.c:2094
     0x55a2c4382815 in hostapd_setup_interface_complete ../src/ap/hostapd.c:2229
     0x55a2c4384100 in setup_interface2 ../src/ap/hostapd.c:1726
     0x55a2c4386b58 in setup_interface ../src/ap/hostapd.c:1628
     0x55a2c4386b58 in hostapd_setup_interface ../src/ap/hostapd.c:2318
     0x55a2c4387a57 in hostapd_enable_iface ../src/ap/hostapd.c:2730
     0x55a2c455d723 in hostapd_ctrl_iface_enable /home/mbr/hostapd/hostapd/ctrl_iface.c:1606
     0x55a2c455d723 in hostapd_ctrl_iface_receive_process /home/mbr/hostapd/hostapd/ctrl_iface.c:3607
     0x55a2c456821e in hostapd_ctrl_iface_receive /home/mbr/hostapd/hostapd/ctrl_iface.c:4018
     0x55a2c44b9afa in eloop_sock_table_dispatch ../src/utils/eloop.c:603
     0x55a2c44be122 in eloop_run ../src/utils/eloop.c:1228
     0x55a2c43360bf in hostapd_global_run /home/mbr/hostapd/hostapd/main.c:451
     0x55a2c43360bf in main /home/mbr/hostapd/hostapd/main.c:898
     0x7feed8ce20b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

SUMMARY: AddressSanitizer: heap-use-after-free ../src/common/ptksa_cache.c:310 in ptksa_cache_add
Shadow bytes around the buggy address:
  0x0c2280004c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c2280004c30: 00 00 fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c2280004c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c2280004c50: 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa
  0x0c2280004c60: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
=>0x0c2280004c70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]
  0x0c2280004c80: fd fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c2280004c90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c2280004ca0: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
  0x0c2280004cb0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c2280004cc0: 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
==19798==ABORTING

Fixes: a4e3691616 ("WPA: Add PTKSA cache implementation")
Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
2021-08-19 16:51:20 +03:00
doc DBus: Add 'owe' to interface Capabilities 2021-01-15 12:22:47 +02:00
eap_example build: Put archive files into build/ folder too 2020-10-11 11:16:00 +03:00
hostapd AP: Add user configuration for TWT responder role 2021-06-01 00:17:03 +03:00
hs20 build: Put object files into build/ folder 2020-10-10 12:51:39 +03:00
radius_example build: Put archive files into build/ folder too 2020-10-11 11:16:00 +03:00
src PASN: Fix ASAN error in ptksa_cache_add() 2021-08-19 16:51:20 +03:00
tests tests: Update RSA 3k certificates 2021-08-19 13:57:53 +03:00
wlantest wlantest: TKIP frame reassembly for Michael MIC check in fragmented case 2021-05-11 21:13:56 +03:00
wpa_supplicant wpa_supplicant: src: Replace Sane with Valid. 2021-08-19 11:34:45 +03:00
wpadebug wpadebug: Allow WebView to parse and load clear text (HTTP) 2019-06-20 00:33:43 +03:00
wpaspy wpaspy: Do not mark not-existing UNIX domain socket as UDP 2021-03-01 12:51:20 +02:00
.gitignore gitignore: Remove obsolete mac80211_hwsim entry 2020-10-11 19:36:18 +03:00
Android.mk Treat VER_2_1_DEVEL the same as VER_0_8_X 2013-12-14 21:23:39 -08:00
build_release Drop OpenSSL 0.9.8 patches to add EAP-FAST support 2016-01-13 00:17:27 +02:00
CONTRIBUTIONS Add a link to Patchwork for a list of pending patches 2021-03-06 11:26:20 +02:00
COPYING Update copyright notices for the new year 2019 2019-01-01 23:38:56 +02:00
README Update copyright notices for the new year 2019 2019-01-01 23:38:56 +02:00

wpa_supplicant and hostapd
--------------------------

Copyright (c) 2002-2019, Jouni Malinen <j@w1.fi> and contributors
All Rights Reserved.

These programs are licensed under the BSD license (the one with
advertisement clause removed).

If you are submitting changes to the project, please see CONTRIBUTIONS
file for more instructions.


This package may include either wpa_supplicant, hostapd, or both. See
README file respective subdirectories (wpa_supplicant/README or
hostapd/README) for more details.

Source code files were moved around in v0.6.x releases and compared to
earlier releases, the programs are now built by first going to a
subdirectory (wpa_supplicant or hostapd) and creating build
configuration (.config) and running 'make' there (for Linux/BSD/cygwin
builds).


License
-------

This software may be distributed, used, and modified under the terms of
BSD license:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

3. Neither the name(s) of the above-listed copyright holder(s) nor the
   names of its contributors may be used to endorse or promote products
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.