CVE-2024-53045 – ASoC: dapm: fix bounds checker error in dapm_widget_list_create
https://notcve.org/view.php?id=CVE-2024-53045
In the Linux kernel, the following vulnerability has been resolved: ASoC: dapm: fix bounds checker error in dapm_widget_list_create The widgets array in the snd_soc_dapm_widget_list has a __counted_by attribute attached to it, which points to the num_widgets variable. • https://git.kernel.org/stable/c/80e698e2df5ba2124bdeca37f1e589de58a4d514 https://git.kernel.org/stable/c/c549cb66e8de0ba1936fc97a59f0156741d3492a https://git.kernel.org/stable/c/2ef9439f7a19fd3d43b288d38b1c6e55b668a4fe •
CVE-2024-53044 – net/sched: sch_api: fix xa_insert() error path in tcf_block_get_ext()
https://notcve.org/view.php?id=CVE-2024-53044
In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_api: fix xa_insert() error path in tcf_block_get_ext() This command: $ tc qdisc replace dev eth0 ingress_block 1 egress_block 1 clsact Error: block dev insert failed: -EBUSY. fails because user space requests the same block index to be set for both ingress and egress. [ side note, I don't think it even failed prior to commit 913b47d3424e ("net/sched: Introduce tc block netdev tracking infra"), because this is a command from an old set of notes of mine which used to work, but alas, I did not scientifically bisect this ] The problem is not that it fails, but rather, that the second time around, it fails differently (and irrecoverably): $ tc qdisc replace dev eth0 ingress_block 1 egress_block 1 clsact Error: dsa_core: Flow block cb is busy. [ another note: the extack is added by me for illustration purposes. the context of the problem is that clsact_init() obtains the same &q->ingress_block pointer as &q->egress_block, and since we call tcf_block_get_ext() on both of them, "dev" will be added to the block->ports xarray twice, thus failing the operation: once through the ingress block pointer, and once again through the egress block pointer. the problem itself is that when xa_insert() fails, we have emitted a FLOW_BLOCK_BIND command through ndo_setup_tc(), but the offload never sees a corresponding FLOW_BLOCK_UNBIND. ] Even correcting the bad user input, we still cannot recover: $ tc qdisc replace dev swp3 ingress_block 1 egress_block 2 clsact Error: dsa_core: Flow block cb is busy. Basically the only way to recover is to reboot the system, or unbind and rebind the net device driver. To fix the bug, we need to fill the correct error teardown path which was missed during code movement, and call tcf_block_offload_unbind() when xa_insert() fails. [ last note, fundamentally I blame the label naming convention in tcf_block_get_ext() for the bug. • https://git.kernel.org/stable/c/94e2557d086ad831027c54bc9c2130d337c72814 https://git.kernel.org/stable/c/8966eb69a143b1c032365fe84f2815f3c46f2590 https://git.kernel.org/stable/c/a13e690191eafc154b3f60afe9ce35aa9b9128b4 •
CVE-2024-53043 – mctp i2c: handle NULL header address
https://notcve.org/view.php?id=CVE-2024-53043
In the Linux kernel, the following vulnerability has been resolved: mctp i2c: handle NULL header address daddr can be NULL if there is no neighbour table entry present, in that case the tx packet should be dropped. saddr will usually be set by MCTP core, but check for NULL in case a packet is transmitted by a different protocol. • https://git.kernel.org/stable/c/f5b8abf9fc3dacd7529d363e26fe8230935d65f8 https://git.kernel.org/stable/c/4707893315802a0917231b94cb20cbe50ccbfe03 https://git.kernel.org/stable/c/8e886e44397ba89f6e8da8471386112b4f5b67b7 https://git.kernel.org/stable/c/8c222adadc1612e4f097688875962a28e3f5ab44 https://git.kernel.org/stable/c/01e215975fd80af81b5b79f009d49ddd35976c13 •
CVE-2024-53042 – ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_init_flow()
https://notcve.org/view.php?id=CVE-2024-53042
In the Linux kernel, the following vulnerability has been resolved: ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_init_flow() There are code paths from which the function is called without holding the RCU read lock, resulting in a suspicious RCU usage warning [1]. Fix by using l3mdev_master_upper_ifindex_by_index() which will acquire the RCU read lock before calling l3mdev_master_upper_ifindex_by_index_rcu(). [1] WARNING: suspicious RCU usage 6.12.0-rc3-custom-gac8f72681cf2 #141 Not tainted ----------------------------- net/core/dev.c:876 RCU-list traversed in non-reader section!! • https://git.kernel.org/stable/c/ab6c9463b137163ba53fc050bf2c72bed2c997b8 https://git.kernel.org/stable/c/760852df570747e500a9632d34cbbf4faef30855 https://git.kernel.org/stable/c/db53cd3d88dc328dea2e968c9c8d3b4294a8a674 https://git.kernel.org/stable/c/e2742758c9c85c84e077ede5f916479f724e11c2 https://git.kernel.org/stable/c/5edcb3fdb12c3d46a6e79eeeec27d925b80fc168 https://git.kernel.org/stable/c/72c0f482e39c87317ebf67661e28c8d86c93e870 https://git.kernel.org/stable/c/699b48fc31727792edf2cab3829586ae6ba649e2 https://git.kernel.org/stable/c/6dfaa458fe923211c766238a224e0a3c0 •
CVE-2024-50304 – ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_find()
https://notcve.org/view.php?id=CVE-2024-50304
In the Linux kernel, the following vulnerability has been resolved: ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_find() The per-netns IP tunnel hash table is protected by the RTNL mutex and ip_tunnel_find() is only called from the control path where the mutex is taken. Add a lockdep expression to hlist_for_each_entry_rcu() in ip_tunnel_find() in order to validate that the mutex is held and to silence the suspicious RCU usage warning [1]. [1] WARNING: suspicious RCU usage 6.12.0-rc3-custom-gd95d9a31aceb #139 Not tainted ----------------------------- net/ipv4/ip_tunnel.c:221 RCU-list traversed in non-reader section!! • https://git.kernel.org/stable/c/c54419321455631079c7d6e60bc732dd0c5914c5 https://git.kernel.org/stable/c/27c1c98bd3b44b7c5f5c0ecfe1a1ec1240b73829 https://git.kernel.org/stable/c/f20fe2cfe06ca1b008b09da4f2b4e0c5547ccef6 https://git.kernel.org/stable/c/90e0569dd3d32f4f4d2ca691d3fa5a8a14a13c12 •