CyberSecBulletin
CVE-2025-38022NVD status: Modified

Linux: Use After Free

CVE-2025-38022 is a high-severity use after free vulnerability in Linux, with a CVSS 3.1 base score of 7.8 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions ba467b6870ea2a73590478d9612d6ea1dcdd68b7, 5629064f92f0de6d6b3572055cd35361c3ad953c, 312dae3499106ec8cb7442ada12be080aa9fbc3b as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.21% chance of exploitation within 30 days, which is low compared with other CVEs.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Update Linux to ba467b6870ea2a73590478d9612d6ea1dcdd68b7 or 5629064f92f0de6d6b3572055cd35361c3ad953c or 312dae3499106ec8cb7442ada12be080aa9fbc3b or 17d3103325e891e10994e7aa28d12bea04dc2c60, whichever matches your release line, or a later version.
  2. Update Linux Kernel to 5.5 or 6.12.30 or 6.14.8, whichever matches your release line, or a later version.

Affected products and versions

VendorProductAffected versionsFixed in
LinuxLinux53e9a5a692f839780084ad81dbd461ec917f74f7 up to, but not including, ba467b6870ea2a73590478d9612d6ea1dcdd68b7; 779e0bf47632c609c59f527f9711ecd3214dccb0 up to, but not including, 5629064f92f0de6d6b3572055cd35361c3ad953c; 779e0bf47632c609c59f527f9711ecd3214dccb0 up to, but not including, 312dae3499106ec8cb7442ada12be080aa9fbc3b; 779e0bf47632c609c59f527f9711ecd3214dccb0 up to, but not including, 17d3103325e891e10994e7aa28d12bea04dc2c60; 779e0bf47632c609c59f527f9711ecd3214dccb0 up to, but not including, 10c7f1c647da3b77ef8827d974a97b6530b64df0; 779e0bf47632c609c59f527f9711ecd3214dccb0 up to, but not including, 03df57ad4b0ff9c5a93ff981aba0b42578ad1571; 779e0bf47632c609c59f527f9711ecd3214dccb0 up to, but not including, d0706bfd3ee40923c001c6827b786a309e2a8713; 9b54e31fd08f8d8db507d021c88e760d5f8e4640; and 3 more rangesba467b6870ea2a73590478d9612d6ea1dcdd68b7, 5629064f92f0de6d6b3572055cd35361c3ad953c, 312dae3499106ec8cb7442ada12be080aa9fbc3b, 17d3103325e891e10994e7aa28d12bea04dc2c60, 10c7f1c647da3b77ef8827d974a97b6530b64df0, 03df57ad4b0ff9c5a93ff981aba0b42578ad1571
LinuxLinux Kernel5.4.86 up to, but not including, 5.5; 5.10.4 up to, but not including, 6.12.30; 6.13 up to, but not including, 6.14.8; 6.155.5, 6.12.30, 6.14.8

Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
LocalThe attacker needs local access or must trick a user into running something.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
LowA basic user account is enough.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
HighAll data handled by the component can be read.
Integrity
HighData or code can be modified at will.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.17.8HighCNA
CVSS 3.17.8HighNVD

Official description

In the Linux kernel, the following vulnerability has been resolved: RDMA/core: Fix "KASAN: slab-use-after-free Read in ib_register_device" problem Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xc3/0x670 mm/kasan/report.c:521 kasan_report+0xe0/0x110 mm/kasan/report.c:634 strlen+0x93/0xa0 lib/string.c:420 __fortify_strlen include/linux/fortify-string.h:268 [inline] get_kobj_path_length lib/kobject.c:118 [inline] kobject_get_path+0x3f/0x2a0 lib/kobject.c:158 kobject_uevent_env+0x289/0x1870 lib/kobject_uevent.c:545 ib_register_device drivers/infiniband/core/device.c:1472 [inline] ib_register_device+0x8cf/0xe00 drivers/infiniband/core/device.c:1393 rxe_register_device+0x275/0x320 drivers/infiniband/sw/rxe/rxe_verbs.c:1552 rxe_net_add+0x8e/0xe0 drivers/infiniband/sw/rxe/rxe_net.c:550 rxe_newlink+0x70/0x190 drivers/infiniband/sw/rxe/rxe.c:225 nldev_newlink+0x3a3/0x680 drivers/infiniband/core/nldev.c:1796 rdma_nl_rcv_msg+0x387/0x6e0 drivers/infiniband/core/netlink.c:195 rdma_nl_rcv_skb.constprop.0.isra.0+0x2e5/0x450 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline] netlink_unicast+0x53a/0x7f0 net/netlink/af_netlink.c:1339 netlink_sendmsg+0x8d1/0xdd0 net/netlink/af_netlink.c:1883 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg net/socket.c:727 [inline] ____sys_sendmsg+0xa95/0xc70 net/socket.c:2566 ___sys_sendmsg+0x134/0x1d0 net/socket.c:2620 __sys_sendmsg+0x16d/0x220 net/socket.c:2652 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f This problem is similar to the problem that the commit 1d6a9e7449e2 ("RDMA/core: Fix use-after-free when rename device name") fixes. The root cause is: the function ib_device_rename() renames the name with lock. But in the function kobject_uevent(), this name is accessed without lock protection at the same time. The solution is to add the lock protection when this name is accessed in the function kobject_uevent().

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Use After Free

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory belongs to the code that operates on the new pointer.

How developers prevent this class of flaw

  • Choose a language that provides automatic memory management.
  • When freeing pointers, be sure to set them to NULL once they are freed. However, the utilization of multiple or complex data structures may lower the usefulness of this strategy.

More Use After Free vulnerabilities (CWE-416)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
  3. Record last changed materially (score, affected products, status or references).

References

Recent Use After Free vulnerabilities

Spotted an error? Tell us.