Jin Cheng
e44fcbd35f
fix(bt/controller): fixed several BR/EDR controller bugs found by WVT regression tests on ESP32
2026-06-29 10:38:34 +08:00
Jin Cheng
3be52f9d46
fix(bt/bluedroid): added buffer length check for OBEX APIs
2026-06-17 07:23:59 +08:00
Jin Cheng
10eb7df430
fix(bt/bluedroid): added buffer length check for HID Device data indication
2026-06-17 07:23:59 +08:00
Jin Cheng
ad84fe5f87
fix(bt/bluedroid): added validation for all SMP BR opcode lengths in smp_br_data_received
2026-06-17 07:23:59 +08:00
Jin Cheng
964dec2081
fix(bt/bluedroid): fixed CTKD link key authentication downgrade in SC-Only mode
2026-06-17 07:23:59 +08:00
Jin Cheng
ed980ec113
fix(bt/bluedroid): added buffer length check for HID host data indication
2026-06-17 07:23:59 +08:00
Jin Cheng
14c99559b4
fix(bt/bluedroid): added buffer length check for L2CAP related functions
2026-06-17 07:23:59 +08:00
Jin Cheng
ad5748f1af
fix(bt/controller): fixed several BR/EDR controller bugs found by WVT regression tests on ESP32-S31
2026-06-12 15:39:17 +08:00
Jin Cheng
b62e578edd
fix(bt/controller): fixed several BR/EDR controller bugs found by WVT regression tests on ESP32-S31
2026-06-09 16:34:36 +08:00
Jin Cheng
5d0b77797b
fix(bt/bluedroid): fixed SDP deinit race with pending callbacks
...
Cancel any active SDP search during disabling and mark the BTA SDP
callbacks inactive so late search completions are not propagated
after deinit. Guard BTC side SDP completion handling after cleanup
to avoid null references.
2026-05-21 20:33:35 +08:00
Jin Cheng
2ea0396135
fix(bt/controller): fixed several controller issues
...
- added support for PCM over I2S
- ignored bandwidth and retransmission effort during SCO negotiation
- fixed use-after-free issues while handle the saved PDU
- removed unreasonable check for the packet write-back value
- fixed SSP unhandle LMP_NOT_ACCEPTED
- removed incorrect clearing of ACL flags
- fixed incorrect strategy to narrow down allowed packet types during
eSCO negotiation
2026-05-21 15:12:14 +08:00
Jin Cheng
4905a0aeb2
feat(ci): added example tests for HFP using external codec
2026-05-14 12:10:47 +08:00
Jin Cheng
bd8078ca04
fix(bt/bluedroid): fixed building errors in HFP datapath
2026-05-14 10:35:25 +08:00
Jin Cheng
4f233e304c
fix(bt/bluedroid): fixed the vulerabilities from AI code review in HID
2026-05-06 18:29:08 +08:00
Jin Cheng
af9ec3cd58
fix(bt/bluedroid): fixed the vulerabilities from AI code review in Bluedroid
2026-05-06 18:05:14 +08:00
Jin Cheng
83ede08702
fix(bt/controller): fixed sevaral controller issues
...
- Relax the TID checks during EPR to be compatible with some RealTek devices
- Closes https://github.com/espressif/esp-idf/issues/18145
- Fixed wrong HCI event used for eSCO connection update
- Do not inform the host when conneciton request was automatically rejected
2026-04-16 20:27:47 +08:00
Jin Cheng
8999e14df8
fix(bt/bluedroid): moved L2CAP length check into start packets only
2026-04-08 20:13:37 +08:00
Jin Cheng
c9a11c1ff9
fix(bt/bluedroid): fixed multiple high-severity issues from AI code review in SBC
2026-04-01 09:42:51 +08:00
Jin Cheng
ed270d71c8
fix(bt/bluedroid): fixed the vulerabilities from AI code review in SPP
2026-03-30 17:38:46 +08:00
Jin Cheng
6702e66dd8
fix(bt/bluedroid): fixed multiple high-severity issues from AI code review in Bluedroid
2026-03-27 11:28:37 +08:00
Jin Cheng
42f3ed145d
fix(bt/bluedroid): flushed all the DM PM at the end of SPP deinit
2026-03-27 11:20:54 +08:00
Jin Cheng
dba6432d81
fix(bt/bluedroid): fixed multiple high-severity issues from AI code review in SPP
2026-03-23 11:22:06 +08:00
Jin Cheng
6b7909f20e
fix(bt/bluedroid): fixed multiple high-severity issues from AI code review in HID
2026-03-23 09:48:10 +08:00
Jin Cheng
34143d48ee
fix(bt/bluedroid): fixed possible use of uninitialized stack variables in bt_hf_client_at.c
2026-03-16 12:09:06 +08:00
Jin Cheng
60f9362f83
fix(bt/bluedroid): fixed possible OOB read in avrc_pars_vendor_cmd
2026-03-10 08:43:56 +08:00
Jin Cheng
588b03d0d8
fix(bt/controller): fixed remote LMP_AU_RAND is mistakely rejected
2026-02-25 11:05:39 +08:00
Jin Cheng
f694fc15ce
fix(bt): fixed semaphore deletion condition in UART DMA deinit
2026-01-15 10:04:22 +08:00
Jin Cheng
bdec9fe83a
fix(bt): enhanced packet length check in sdp_server.c
2026-01-15 10:04:22 +08:00
Jin Cheng
b18f09fc54
fix(bt): enhanced packet length check for avrc_pars_vendor_cmd
2026-01-15 10:04:22 +08:00
Jin Cheng
2566cc6609
fix(bt): enhanced packet length check for HCI module
2026-01-15 10:04:22 +08:00
Jin Cheng
36b9f5270a
fix(bt): validated UUID parameters in BTA_JvStartDiscovery
2026-01-15 10:04:22 +08:00
Jin Cheng
0717ae3acf
fix(bt/bluedroid): A2DP source at acceptor side will miss ESP_A2D_AUDIO_CFG_EVT
2026-01-13 10:14:43 +08:00
Jin Cheng
4adb4b9010
fix(bt/bluedroid): add status management for audio sink service channel
2026-01-12 19:16:33 +08:00
Jin Cheng
44b05258d7
fix(bt/controller): fixed wrong key type during changing connection link key
2026-01-05 17:34:26 +08:00
Jin Cheng
c1fdcddac4
docs: update vulnerabilities guide to mention CVE-2025-68473 and CVE-2025-68474
2025-12-25 13:40:14 +08:00
Jin Cheng
4a49312321
fix(bt/bluedroid): cleaned the code according to the tool cppcheck
2025-12-16 17:37:14 +08:00
Jin Cheng
1c0c9c6fbd
fix(bt/bluedroid): fixed possible OOB read in smp_br_data_received
2025-12-16 17:37:14 +08:00
Jin Cheng
4466f5dd85
fix(bt/bluedroid): drop connection when atttempting to disable encryption
2025-12-16 17:37:14 +08:00
Jin Cheng
cb1f8d1e15
fix(bt/bluedroid): fixed an integer overflow bug in attp_build_read_multi_cmd
2025-12-16 17:37:14 +08:00
Jin Cheng
e65ef0995a
fix(bt/bluedroid): fixed an integer overflow bug in avdt_msg_asmbl
2025-12-16 17:37:14 +08:00
Jin Cheng
e4b54ede65
fix(bt/bluedroid): fixed an OOB bug in bta_av_setconfig_rej
2025-12-16 17:37:14 +08:00
Jin Cheng
0f9b02dd95
fix(bt/bluedroid): fixed an OOB bug in btm_read_rssi_complete
2025-12-16 17:37:14 +08:00
Jin Cheng
7a45769e25
fix(bt/bluedroid): fixed an OOB bug in btm_delete_stored_link_key_complete
2025-12-16 17:37:14 +08:00
Jin Cheng
25b2c79269
fix(bt/bluedroid): fixed an OOB bug in btm_read_tx_power_complete
2025-12-16 17:37:14 +08:00
Jin Cheng
d4c96f070c
fix(bt/bluedroid): fixed an OOB bug in btm_create_conn_cancel_complete
2025-12-16 17:37:14 +08:00
Jin Cheng
1a944a4bed
fix(bt/bluedroid): fixed an OOB bug in btm_read_local_oob_complete
2025-12-16 17:37:14 +08:00
Jin Cheng
69b47952e8
fix(bt/bluedroid): fixed an OOB write in SDP_AddAttribute
2025-12-16 17:37:14 +08:00
Jin Cheng
6fe7456575
fix(bt/bluedroid): report failure when not able to connect to AVRCP
2025-12-16 17:37:14 +08:00
Jin Cheng
5ab93b428d
fix(bt/bluedroid): fixed buffer overflow in BRSF
2025-12-16 17:37:14 +08:00
Jin Cheng
0638ae7177
fix(bt/bluedroid): added negative length check in process_service_search_rsp
2025-12-16 17:37:14 +08:00
Jin Cheng
7cca70cd0d
fix(bt/bluedroid): fixed OOB read in SDP server continuation length
2025-12-16 17:37:14 +08:00
Jin Cheng
131a4764c8
fix(bt/bluedroid): added length check when copy AVDTP packet
2025-12-16 17:37:14 +08:00
Jin Cheng
1d8f84701c
fix(bt/bluedroid): fixed OOB read in AT_SKIP_RESET
2025-12-16 17:37:14 +08:00
Jin Cheng
de4339d9d1
fix(bt/bluedroid): fixed OOB write in bta_hf_client_handle_cind_list_item
2025-12-16 17:37:14 +08:00
Jin Cheng
439c5cc93d
fix(bt/bluedroid): added boundary check when reading SDP attribute response packet
2025-12-16 17:37:14 +08:00
Jin Cheng
af9d55e487
fix(bt/bluedroid): fixed potential OOB read in the avrc_pars_vendor_rsp
2025-12-16 17:37:13 +08:00
Jin Cheng
7706e8abbc
fix(bt/bluedroid): fixed potential OOB read in the reporting handler
...
Thanks to Luigino Camastra and Pavel Kohout from Aisle Research as
co-reporters for discovering and reporting this issue.
2025-12-16 17:37:13 +08:00
Jin Cheng
8a44bd422d
fix(bt/bluedroid): fixed a potential overflow about the media payload offset
...
This variable is uint16_t, and is possible to overflow when the length
of headder extension is larger. Here we compare with the data length to
prevent any exceptions.
2025-12-16 17:37:13 +08:00
Jin Cheng
c07ac874ec
fix(bt/bluedroid): fixed p_data null dereference in l2c_csm_open
2025-12-16 17:37:13 +08:00
Jin Cheng
801504e152
fix(bt/bluedroid): fixed Use-After-Free in btm_sec_[dis]connected
2025-12-16 17:37:13 +08:00
Jin Cheng
b898e65794
fix(bt/bluedroid): reject device with same address in legacy paring
2025-12-16 17:37:13 +08:00
Jin Cheng
49195d826f
fix(bt/bluedroid): ignore AVCT commands that are too long
2025-12-16 17:37:13 +08:00
Jin Cheng
2c2162efdc
fix(bt/bluedroid): use osi_calloc to zero reserved fields in AVRCP
2025-12-16 17:37:13 +08:00
Jin Cheng
fa76f4f10a
fix(bt/bluedroid): make sure SDP only start discovery once
2025-12-16 17:37:13 +08:00
Jin Cheng
86d9063aac
fix(bt/bluedroid): check event ID if of register notification from remote to avoid OOB write
2025-12-16 17:37:13 +08:00
Jin Cheng
9a22611e30
fix(bt/blurdoird): check Classic key before cross-key derivation
2025-12-16 17:37:13 +08:00
Jin Cheng
1a27ef6d32
fix(bt/blurdoird): enable bitpool snity checks
2025-12-16 17:37:13 +08:00
Jin Cheng
65cb0be70f
fix(bt/bluedroid): fixed possible access to NULL in l2c_fcr_clone_buf
2025-12-15 19:29:20 +08:00
Jin Cheng
bdf9592803
docs: update vulnerabilities guide to mention CVE-2025-66409
2025-12-11 14:10:54 +08:00
Jin Cheng
b607198192
fix(bt/controller): Fixed some controller bugs
...
- Fixed Bluetooth hardware error of 'CHMAP_ERROR'
- Fixed encryption collision bug
2025-11-12 14:27:16 +08:00
Jin Cheng
6ca6f422da
fix(bt/blurdoird): fixed an OOB write in bta_dm_sdp_result
2025-11-06 18:57:55 +08:00
Jin Cheng
565fa98d0c
fix(bt/bluedroid): fixed potential OOB in AVRCP vendor command composition
2025-10-14 11:55:47 +08:00
Jin Cheng
3fa9d23ad2
fix(bt/controller): fixed several controller bugs
2025-09-29 09:59:42 +08:00
Jin Cheng
ac2be3a58e
fix(bt/controller): fixed the sniff anchor point can be mismatch from central and peripheral
2025-09-28 11:33:25 +08:00
JinCheng
5a6193ae14
fix(bluedroid): removed the code relying on compiler-specific extension for FAM in union
2025-09-27 11:28:54 +08:00
JinCheng
075ed218ca
fix(bt/bluedroid): fixed potential OOB in Bluedroid
2025-09-25 10:20:10 +08:00
JinCheng
fb04218563
fix(bt/bluedroid): update the COD before enabling inquiry scan
2025-08-25 15:53:48 +08:00
JinCheng
88722d50d5
fix(bt/controller): fixed some controller bugs
2025-08-13 19:27:35 +08:00
JinCheng
81d7ce47db
fix(bt/bluedroid): correct a description error in the GAP header file
2025-08-13 19:27:35 +08:00
JinCheng
54f1f22e69
fix(esp_phy): update esp32 librtc.a for coex problems
...
- ESP32 phy_version: 4861, b71b5ad, Aug, 5 2025
- ESP32 librtc version: 6758f983, Mar 22 2024, 13:39:26
2025-08-05 12:08:57 +08:00
JinCheng
720108b220
fix(bt/bluedroid): safe string returns and cleanups for bt_discovery example
2025-08-01 09:40:21 +08:00
Jin Cheng
b1ea7f7ae6
fix(bt/controller): update libbtdm_app.a
...
- fixed errors in the coexistance of ACL and SCO
- fixed dynamic priority config error in dual mode
2025-04-18 07:43:24 +08:00
Jin Cheng
cd8fa5c46f
fix(bt/bluedroid): fixed memory leaks in SPP callback mode
2025-02-26 19:12:47 +08:00
Jin Cheng
309747bf9a
fix(bt/controller): fixed some controller bugs on ESP32.
...
1. added a VSC to control whether to initiate lmp_auto_rate
- Closes https://github.com/espressif/esp-idf/issues/15133
2. fixed EA resource cleanup error after SNIFF negotiation failure
- Closes https://github.com/espressif/esp-idf/issues/13605
3. removed an assertion in SCO data TX handler after disconnection
- Closes https://github.com/espressif/esp-idf/issues/15176
2025-02-26 16:31:06 +08:00
Jin Cheng
eb68ef4cc1
fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers
2025-01-07 18:56:23 +08:00
Jin Cheng
185b4d9d44
fix(bt/bluedroid): fixed access NULL in HFP callback handler
2024-12-05 13:19:18 +08:00
Jin Cheng
5e0a73bc56
fix(bt/controller): Fixed some bugs on esp32 controller
...
- Added VSC to update local Bluetooth clock
- Added critical protection for the free method for sync buffers
- Fixed zero attempt value set by role switch
2024-11-26 18:03:11 +08:00
Jin Cheng
fdcf89ae6b
feat(bt/bluedroid): added events to indicate the profile states of HFP
2024-11-22 17:14:16 +08:00
Jin Cheng
2b334d1dfa
fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response
2024-11-20 08:20:40 +08:00
Jin Cheng
cfdefd3e03
fix(bt/controller): Fixed some controller bugs on ESP32
...
- Fixed wrong logic in handling sniff transaction collision at slave
side
- Fixed the issue ACL is stopped too early before eSCO
2024-11-08 12:53:56 +08:00
Jin Cheng
c79eb0d5bf
fix(bt/bluedroid): AG should send OK or other error codes to HF client
...
when it is driven by HF to initiate a call.
2024-11-08 12:51:00 +08:00
Jin Cheng
e2241f1fc1
fix(bt/controller): Fixed some controller bugs on ESP32
...
- Fixed access NULL in SCO frame end
Closes https://jira.espressif.com:8443/browse/IDFGH-10796
- Added LAP checking for Periodic Inquiry
- Removed an inproper assertion in SCO module
- Fixed wrong logic in key exchange when
LMP transaction collision occurred
- Fixed the using of wrong error code in
the transaction collision of role switch
2024-10-12 09:01:48 +08:00
Jin Cheng
9872a7bbd1
fix(bt/bluedroid): fixed AG and HF client cannot enter/exit sniff mode
2024-10-10 16:23:09 +08:00
Jin Cheng
6d85d86fe1
Revert "Disable sniff mode during (e)SCO connection."
...
This reverts commit 39a5eb84f3 .
2024-10-10 16:10:11 +08:00
Jin Cheng
22fad3f0a8
fix(bt/controller): Fixed some controller bugs on ESP32
...
- Fixed access NULL in SCO frame end
Closes https://jira.espressif.com:8443/browse/IDFGH-10796
- Added LAP checking for Periodic Inquiry
- Removed an inproper assertion in SCO module
- Fixed wrong logic in key exchange when
LMP transaction collision occurred
- Fixed the using of wrong error code in
the transaction collision of role switch
2024-09-23 15:33:11 +08:00
Jin Cheng
3964fb1fa8
fix(bt/controller): Removed an improper assertion in ACL link driver
...
- See more from jira BT-3591
2024-07-12 19:35:18 +08:00
Jin Cheng
b79fcbb9d7
fix(bt/controller): Parse out the correct packet types from Host parameters
...
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-04-30 17:38:58 +08:00
Jin Cheng
081dc80eb8
fix(bt/bluedroid): allocate memory for control block of HFP Audio Gateway in its initialization when dynamic memory is wnabled
2024-04-15 11:20:55 +08:00
Jin Cheng
98230244df
fix(bt/controller): Use embedded assembly to get access to DPORT registers
2024-04-01 18:53:47 +08:00
Jin Cheng
82542d2e96
feat(bt/bluedroid): added a VSC to set minimal encryption key size
2024-03-25 10:50:06 +08:00