Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled HCI_UART_SENDING bit in tx_state means write_work is pending and blocks queueing it again. Currently this bit is not cleared when canceling the work in hci_uart_close(), which blocks future writes when device is reopened later if write_work was pending. Fix by clearing HCI_UART_SENDING when canceling the work. Also make clearing of tx_skb safe by using disable_work_sync + enable_work instead of just cancel_work_sync. hci_uart_flush() purges the proto tx queue so we can cancel the pending write_work there, instead of doing it just in hci_uart_close(). Re-enable and possibly requeue the work after queue flush.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 81c7a3c22a0f2808cf4ae0b4908f59763b23606d before d52446b3e735cfdbdc2a58342163803bc2e64249; affected 192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894 before b9dd39cf1667e378b25a082ca796d495d578c5d3; affected c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b before 714d861d35d937f23375a4517569b13917bbbe51; affected c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b before 1b0d946d6f08bd39211385bc703a440911b41e46; affected 78aad93e938f013d9272fe0ee168f27883afa95c; affected e2d19969c8d9198ecc3090bcd5312ecd503a3339; affected c85cff648a2bc92322912db5f1727ad05afae7b6; affected 9d20d48be2c4a071fb015eb09bda2cecd25daf34; affected 7338031946bd06f6dff149e67b60c4cd083bfea8; affected 6.12.92 before 6.12.96; affected 6.18.34 before 6.18.39; affected 5.10.258 before 5.11; affected 5.15.209 before 5.16; affected 6.1.175 before 6.2; affected 6.6.142 before 6.7; affected 7.0.11 before 7.1 |
| Linux / Linux | affected 7.1; unaffected 0 before 7.1; unaffected 6.12.96 through 6.12.*; unaffected 6.18.39 through 6.18.*; unaffected 7.1.4 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/d52446b3e735cfdbdc2a58342163803bc2e64249
- https://git.kernel.org/stable/c/b9dd39cf1667e378b25a082ca796d495d578c5d3
- https://git.kernel.org/stable/c/714d861d35d937f23375a4517569b13917bbbe51
- https://git.kernel.org/stable/c/1b0d946d6f08bd39211385bc703a440911b41e46
ADP enrichment
No English description supplied.
No references supplied.