| 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-56639: net: hsr: must allocate more bytes for RedBox support |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| net: hsr: must allocate more bytes for RedBox support |
| |
| Blamed commit forgot to change hsr_init_skb() to allocate |
| larger skb for RedBox case. |
| |
| Indeed, send_hsr_supervision_frame() will add |
| two additional components (struct hsr_sup_tlv |
| and struct hsr_sup_payload) |
| |
| syzbot reported the following crash: |
| skbuff: skb_over_panic: text:ffffffff8afd4b0a len:34 put:6 head:ffff88802ad29e00 data:ffff88802ad29f22 tail:0x144 end:0x140 dev:gretap0 |
| ------------[ cut here ]------------ |
| kernel BUG at net/core/skbuff.c:206 ! |
| Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI |
| CPU: 2 UID: 0 PID: 7611 Comm: syz-executor Not tainted 6.12.0-syzkaller #0 |
| Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 |
| RIP: 0010:skb_panic+0x157/0x1d0 net/core/skbuff.c:206 |
| Code: b6 04 01 84 c0 74 04 3c 03 7e 21 8b 4b 70 41 56 45 89 e8 48 c7 c7 a0 7d 9b 8c 41 57 56 48 89 ee 52 4c 89 e2 e8 9a 76 79 f8 90 <0f> 0b 4c 89 4c 24 10 48 89 54 24 08 48 89 34 24 e8 94 76 fb f8 4c |
| RSP: 0018:ffffc90000858ab8 EFLAGS: 00010282 |
| RAX: 0000000000000087 RBX: ffff8880598c08c0 RCX: ffffffff816d3e69 |
| RDX: 0000000000000000 RSI: ffffffff816de786 RDI: 0000000000000005 |
| RBP: ffffffff8c9b91c0 R08: 0000000000000005 R09: 0000000000000000 |
| R10: 0000000000000302 R11: ffffffff961cc1d0 R12: ffffffff8afd4b0a |
| R13: 0000000000000006 R14: ffff88804b938130 R15: 0000000000000140 |
| FS: 000055558a3d6500(0000) GS:ffff88806a800000(0000) knlGS:0000000000000000 |
| CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 |
| CR2: 00007f1295974ff8 CR3: 000000002ab6e000 CR4: 0000000000352ef0 |
| DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 |
| DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 |
| Call Trace: |
| <IRQ> |
| skb_over_panic net/core/skbuff.c:211 [inline] |
| skb_put+0x174/0x1b0 net/core/skbuff.c:2617 |
| send_hsr_supervision_frame+0x6fa/0x9e0 net/hsr/hsr_device.c:342 |
| hsr_proxy_announce+0x1a3/0x4a0 net/hsr/hsr_device.c:436 |
| call_timer_fn+0x1a0/0x610 kernel/time/timer.c:1794 |
| expire_timers kernel/time/timer.c:1845 [inline] |
| __run_timers+0x6e8/0x930 kernel/time/timer.c:2419 |
| __run_timer_base kernel/time/timer.c:2430 [inline] |
| __run_timer_base kernel/time/timer.c:2423 [inline] |
| run_timer_base+0x111/0x190 kernel/time/timer.c:2439 |
| run_timer_softirq+0x1a/0x40 kernel/time/timer.c:2449 |
| handle_softirqs+0x213/0x8f0 kernel/softirq.c:554 |
| __do_softirq kernel/softirq.c:588 [inline] |
| invoke_softirq kernel/softirq.c:428 [inline] |
| __irq_exit_rcu kernel/softirq.c:637 [inline] |
| irq_exit_rcu+0xbb/0x120 kernel/softirq.c:649 |
| instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] |
| sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1049 |
| </IRQ> |
| |
| The Linux kernel CVE team has assigned CVE-2024-56639 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 6.10 with commit 5055cccfc2d1cc1a7306f6bcdcd0ee9521d707f5 and fixed in 6.12.5 with commit 688842f47ee9fb392d1c3a1ced1d21d505b14968 |
| Issue introduced in 6.10 with commit 5055cccfc2d1cc1a7306f6bcdcd0ee9521d707f5 and fixed in 6.13 with commit af8edaeddbc52e53207d859c912b017fd9a77629 |
| |
| 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-56639 |
| 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/hsr/hsr_device.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/688842f47ee9fb392d1c3a1ced1d21d505b14968 |
| https://git.kernel.org/stable/c/af8edaeddbc52e53207d859c912b017fd9a77629 |