Attacker Value
Unknown
(0 users assessed)
Exploitability
Unknown
(0 users assessed)
User Interaction
None
Privileges Required
Low
Attack Vector
Local
0

CVE-2024-53186

Disclosure Date: December 27, 2024
Add MITRE ATT&CK tactics and techniques that apply to this CVE.

Description

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

ksmbd: fix use-after-free in SMB request handling

A race condition exists between SMB request handling in
ksmbd_conn_handler_loop() and the freeing of ksmbd_conn in the
workqueue handler handle_ksmbd_work(). This leads to a UAF.

  • KASAN: slab-use-after-free Read in handle_ksmbd_work
  • KASAN: slab-use-after-free in rtlock_slowlock_locked

This race condition arises as follows:

  • ksmbd_conn_handler_loop() waits for conn->r_count to reach zero:
    wait_event(conn->r_count_q, atomic_read(&conn->r_count) == 0);
  • Meanwhile, handle_ksmbd_work() decrements conn->r_count using
    atomic_dec_return(&conn->r_count), and if it reaches zero, calls
    ksmbd_conn_free(), which frees conn.
  • However, after handle_ksmbd_work() decrements conn->r_count,
    it may still access conn->r_count_q in the following line:
    waitqueue_active(&conn->r_count_q) or wake_up(&conn->r_count_q)
    This results in a UAF, as conn has already been freed.

The discovery of this UAF can be referenced in the following PR for
syzkaller’s support for SMB requests.

Add Assessment

No one has assessed this topic. Be the first to add your voice to the community.

CVSS V3 Severity and Metrics
Base Score:
7.0 High
Impact Score:
5.9
Exploitability Score:
1
Vector:
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector (AV):
Local
Attack Complexity (AC):
High
Privileges Required (PR):
Low
User Interaction (UI):
None
Scope (S):
Unchanged
Confidentiality (C):
High
Integrity (I):
High
Availability (A):
High

General Information

Vendors

Products

Weaknesses

Technical Analysis