Bug 2301506 (CVE-2024-42141) - CVE-2024-42141 kernel: Bluetooth: ISO: Check socket flag instead of hcon
Summary: CVE-2024-42141 kernel: Bluetooth: ISO: Check socket flag instead of hcon
Keywords:
Status: NEW
Alias: CVE-2024-42141
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2302001
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-30 08:37 UTC by OSIDB Bzimport
Modified: 2024-11-12 09:37 UTC (History)
4 users (show)

Fixed In Version: kernel 6.6.39, kernel 6.9.9, kernel 6.10
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2024:9315 0 None None None 2024-11-12 09:37:58 UTC

Description OSIDB Bzimport 2024-07-30 08:37:46 UTC
In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: ISO: Check socket flag instead of hcon

This fixes the following Smatch static checker warning:

net/bluetooth/iso.c:1364 iso_sock_recvmsg()
error: we previously assumed 'pi->conn->hcon' could be null (line 1359)

net/bluetooth/iso.c
1347 static int iso_sock_recvmsg(struct socket *sock, struct msghdr *msg,
1348                             size_t len, int flags)
1349 {
1350         struct sock *sk = sock->sk;
1351         struct iso_pinfo *pi = iso_pi(sk);
1352
1353         BT_DBG("sk %p", sk);
1354
1355         if (test_and_clear_bit(BT_SK_DEFER_SETUP,
                                      &bt_sk(sk)->flags)) {
1356                 lock_sock(sk);
1357                 switch (sk->sk_state) {
1358                 case BT_CONNECT2:
1359                         if (pi->conn->hcon &&
                                     ^^^^^^^^^^^^^^ If ->hcon is NULL

1360                             test_bit(HCI_CONN_PA_SYNC,
                                         &pi->conn->hcon->flags)) {
1361                                 iso_conn_big_sync(sk);
1362                                 sk->sk_state = BT_LISTEN;
1363                         } else {
--> 1364                         iso_conn_defer_accept(pi->conn->hcon);
                                                       ^^^^^^^^^^^^^^
                                                       then we're toast

1365                                 sk->sk_state = BT_CONFIG;
1366                         }
1367                         release_sock(sk);
1368                         return 0;
1369                 case BT_CONNECTED:
1370                         if (test_bit(BT_SK_PA_SYNC,

Comment 1 Mauro Matteo Cascella 2024-07-31 10:29:37 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024073030-CVE-2024-42141-9017@gregkh/T

Comment 2 Mauro Matteo Cascella 2024-07-31 10:29:57 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2302001]

Comment 7 errata-xmlrpc 2024-11-12 09:37:57 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2024:9315 https://access.redhat.com/errata/RHSA-2024:9315


Note You need to log in before you can comment on or make changes to this bug.