| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-53057: net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT |
| |
| In qdisc_tree_reduce_backlog, Qdiscs with major handle ffff: are assumed |
| to be either root or ingress. This assumption is bogus since it's valid |
| to create egress qdiscs with major handle ffff: |
| Budimir Markovic found that for qdiscs like DRR that maintain an active |
| class list, it will cause a UAF with a dangling class pointer. |
| |
| In 066a3b5b2346, the concern was to avoid iterating over the ingress |
| qdisc since its parent is itself. The proper fix is to stop when parent |
| TC_H_ROOT is reached because the only way to retrieve ingress is when a |
| hierarchy which does not contain a ffff: major handle call into |
| qdisc_lookup with TC_H_MAJ(TC_H_ROOT). |
| |
| In the scenario where major ffff: is an egress qdisc in any of the tree |
| levels, the updates will also propagate to TC_H_ROOT, which then the |
| iteration must stop. |
| |
| |
| net/sched/sch_api.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| The Linux kernel CVE team has assigned CVE-2024-53057 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 4.19.323 with commit e7f9a6f97eb067599a74f3bcb6761976b0ed303e |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 5.4.285 with commit dbe778b08b5101df9e89bc06e0a3a7ecd2f4ef20 |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 5.10.229 with commit ce691c814bc7a3c30c220ffb5b7422715458fd9b |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 5.15.171 with commit 05df1b1dff8f197f1c275b57ccb2ca33021df552 |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 6.1.116 with commit 580b3189c1972aff0f993837567d36392e9d981b |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 6.6.60 with commit 597cf9748c3477bf61bc35f0634129f56764ad24 |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 6.11.7 with commit 9995909615c3431a5304c1210face5f268d24dba |
| Issue introduced in 2.6.25 with commit 066a3b5b2346febf9a655b444567b7138e3bb939 and fixed in 6.12 with commit 2e95c4384438adeaa772caa560244b1a2efef816 |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-53057 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| net/sched/sch_api.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/e7f9a6f97eb067599a74f3bcb6761976b0ed303e |
| https://git.kernel.org/stable/c/dbe778b08b5101df9e89bc06e0a3a7ecd2f4ef20 |
| https://git.kernel.org/stable/c/ce691c814bc7a3c30c220ffb5b7422715458fd9b |
| https://git.kernel.org/stable/c/05df1b1dff8f197f1c275b57ccb2ca33021df552 |
| https://git.kernel.org/stable/c/580b3189c1972aff0f993837567d36392e9d981b |
| https://git.kernel.org/stable/c/597cf9748c3477bf61bc35f0634129f56764ad24 |
| https://git.kernel.org/stable/c/9995909615c3431a5304c1210face5f268d24dba |
| https://git.kernel.org/stable/c/2e95c4384438adeaa772caa560244b1a2efef816 |