CVE-2024-26625: llc: call sock_orphan() at release time

Published Mar 6, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

llc: call sockorphan() at release time

syzbot reported an interesting trace [1] caused by a stale sk->skwq pointer in a closed llc socket.

In commit ff7b11aa481f ("net: socket: set sock->sk to NULL after calling protoops::release()") Eric Biggers hinted that some protocols are missing a sockorphan(), we need to perform a full audit.

In net-next, I plan to clear sock->sk from sockorphan() and amend Eric patch to add a warning.

[1] BUG: KASAN: slab-use-after-free in listempty include/linux/list.h:373 [inline] BUG: KASAN: slab-use-after-free in waitqueueactive include/linux/wait.h:127 [inline] BUG: KASAN: slab-use-after-free in sockdefwritespacewfree net/core/sock.c:3384 [inline] BUG: KASAN: slab-use-after-free in sockwfree+0x9a8/0x9d0 net/core/sock.c:2468 Read of size 8 at addr ffff88802f4fc880 by task ksoftirqd/1/27

CPU: 1 PID: 27 Comm: ksoftirqd/1 Not tainted 6.8.0-rc1-syzkaller-00049-g6098d87eaf31 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: <TASK> dumpstack lib/dumpstack.c:88 [inline] dumpstacklvl+0xd9/0x1b0 lib/dumpstack.c:106 printaddressdescription mm/kasan/report.c:377 [inline] printreport+0xc4/0x620 mm/kasan/report.c:488 kasanreport+0xda/0x110 mm/kasan/report.c:601 listempty include/linux/list.h:373 [inline] waitqueueactive include/linux/wait.h:127 [inline] sockdefwritespacewfree net/core/sock.c:3384 [inline] sockwfree+0x9a8/0x9d0 net/core/sock.c:2468 skbreleaseheadstate+0xa3/0x2b0 net/core/skbuff.c:1080 skbreleaseall net/core/skbuff.c:1092 [inline] napiconsumeskb+0x119/0x2b0 net/core/skbuff.c:1404 e1000unmapandfreetxresource+0x144/0x200 drivers/net/ethernet/intel/e1000/e1000main.c:1970 e1000cleantxirq drivers/net/ethernet/intel/e1000/e1000main.c:3860 [inline] e1000clean+0x4a1/0x26e0 drivers/net/ethernet/intel/e1000/e1000main.c:3801 napipoll.constprop.0+0xb4/0x540 net/core/dev.c:6576 napipoll net/core/dev.c:6645 [inline] netrxaction+0x956/0xe90 net/core/dev.c:6778 dosoftirq+0x21a/0x8de kernel/softirq.c:553 runksoftirqd kernel/softirq.c:921 [inline] runksoftirqd+0x31/0x60 kernel/softirq.c:913 smpbootthreadfn+0x660/0xa10 kernel/smpboot.c:164 kthread+0x2c6/0x3a0 kernel/kthread.c:388 retfromfork+0x45/0x80 arch/x86/kernel/process.c:147 retfromforkasm+0x11/0x20 arch/x86/entry/entry64.S:242 </TASK>

Allocated by task 5167: kasansavestack+0x33/0x50 mm/kasan/common.c:47 kasansavetrack+0x14/0x30 mm/kasan/common.c:68 unpoisonslabobject mm/kasan/common.c:314 [inline] kasanslaballoc+0x81/0x90 mm/kasan/common.c:340 kasanslaballoc include/linux/kasan.h:201 [inline] slabpostallochook mm/slub.c:3813 [inline] slaballocnode mm/slub.c:3860 [inline] kmemcachealloclru+0x142/0x6f0 mm/slub.c:3879 allocinodesb include/linux/fs.h:3019 [inline] sockallocinode+0x25/0x1c0 net/socket.c:308 allocinode+0x5d/0x220 fs/inode.c:260 newinodepseudo+0x16/0x80 fs/inode.c:1005 sockalloc+0x40/0x270 net/socket.c:634 sockcreate+0xbc/0x800 net/socket.c:1535 sockcreate net/socket.c:1622 [inline] syssocketcreate net/socket.c:1659 [inline] syssocket+0x14c/0x260 net/socket.c:1706 dosyssocket net/socket.c:1720 [inline] sesyssocket net/socket.c:1718 [inline] x64syssocket+0x72/0xb0 net/socket.c:1718 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xd3/0x250 arch/x86/entry/common.c:83 entrySYSCALL64afterhwframe+0x63/0x6b

Freed by task 0: kasansavestack+0x33/0x50 mm/kasan/common.c:47 kasansavetrack+0x14/0x30 mm/kasan/common.c:68 kasansavefreeinfo+0x3f/0x60 mm/kasan/generic.c:640 poisonslabobject mm/kasan/common.c:241 [inline] kasanslabfree+0x121/0x1b0 mm/kasan/common.c:257 kasanslabfree include/linux/kasan.h:184 [inline] slabfreehook mm/slub.c:2121 [inlin ---truncated---

Affected Software

11 affected componentsFixes available
Linux Linux kernel>=2.6.35<4.19.307
Linux Linux kernel>=4.20<5.4.269
Linux Linux kernel>=5.5<5.10.210
Linux Linux kernel>=5.11<5.15.149
Linux Linux kernel>=5.16<6.1.77
Linux Linux kernel>=6.2<6.6.16
Linux Linux kernel>=6.7<6.7.4
Linux Linux kernel=6.8-rc1
Linux Linux kernel=6.8-rc2
Debian Debian Linux=10.0
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Compensating control

    In llc, ensure sock_orphan() clears sock->sk at release time (i.e., clear sock->sk from sock_orphan) to avoid stale sk->sk_wq pointer leading to KASAN slab-use-after-free; the report states: "llc: call sock_orphan() at release time".

Event History

Mar 6, 2024
CVE Published
via MITRE·06:45 AM
Data Sourced
via MITRE·06:45 AM
DescriptionSeverity
Data Sourced
via NVD·07:15 AM
RemedyDescriptionSeverityWeaknessAffected Software
Mar 27, 2024
Data Sourced
via Launchpad·09:56 PM
Description
Apr 27, 2025
Data Sourced
via Ubuntu·11:44 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-26625?

CVE-2024-26625 is classified as a medium-severity vulnerability in the Linux kernel.

2

How do I fix CVE-2024-26625?

To mitigate CVE-2024-26625, update your Linux kernel to a patched version such as 5.10.223-1 or later.

3

What versions of the Linux kernel are affected by CVE-2024-26625?

CVE-2024-26625 affects various versions including those between 2.6.35 and 4.19.307, and all from 4.20 to 6.7.4.

4

Is there a workaround for CVE-2024-26625?

There are no known workarounds for CVE-2024-26625 other than applying the available kernel updates.

5

What components are vulnerable in relation to CVE-2024-26625?

The vulnerability in CVE-2024-26625 specifically affects closed LLC sockets in the Linux kernel.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203