Skip to content
Heist/ feed
Back to feed
CriticalFix available

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

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.11.11, 6.12.2, 6.6.64
CVEs
CVE-2024-53186
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 04:24 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 27 Dec 2024, 13:49 UTC

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.

osv:CVE-2024-53186

Kernel

Fixed versions: 6.6.64, 6.11.11, 6.12.2

Complete source record
{
  "id": "39bc8d74e50c9f0b0519487bb2b55684c9955ce4b1064113ac0a492ce1bd812f",
  "url": "https://osv.dev/vulnerability/CVE-2024-53186",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "ksmbd: fix use-after-free in SMB request handling",
    "summary": "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.",
    "evidence": "osv:CVE-2024-53186",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.6.64",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.11.11",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.2",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "CVE-2024-53186",
      "aliases": [
        "CVE-2024-53186"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "18f06bacc197d4ac9b518ad1c69999bc3d83e7aa"
                },
                {
                  "fixed": "a96f9eb7add30ba0fafcfe7b7aca090978196800"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "e9dac92f4482a382e8c0fe1bc243da5fc3526b0c"
                },
                {
                  "fixed": "f20b77f7897e6aab9ce5527e6016ad2be5d70a33"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "ee426bfb9d09b29987369b897fe9b6485ac2be27"
                },
                {
                  "fixed": "96261adb998a3b513468b6ce17dbec76be5507d4"
                },
                {
                  "fixed": "9a8c5d89d327ff58e9b2517f8a6afb4181d32c6e"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6.6.55"
                },
                {
                  "fixed": "6.6.64"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6.11.3"
                },
                {
                  "fixed": "6.11.11"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6.10.14"
                },
                {
                  "fixed": "6.11"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "9fd3cde4628bcd3549ab95061f2bab74d2ed4f3b"
                }
              ]
            }
          ],
          "versions": [
            "v6.6.63",
            "v6.6.62",
            "v6.6.61",
            "v6.6.60",
            "v6.6.59",
            "v6.6.58",
            "v6.6.57",
            "v6.6.56",
            "v6.6.55",
            "v6.11.10",
            "v6.11.9",
            "v6.11.8",
            "v6.11.7",
            "v6.11.6",
            "v6.11.5",
            "v6.11.4",
            "v6.11.3",
            "v6.10.14"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-53186.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "6.6.64"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.11.11"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.12.0"
                },
                {
                  "fixed": "6.12.2"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-53186.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.556020210Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/96261adb998a3b513468b6ce17dbec76be5507d4",
        "https://git.kernel.org/stable/c/9a8c5d89d327ff58e9b2517f8a6afb4181d32c6e",
        "https://git.kernel.org/stable/c/a96f9eb7add30ba0fafcfe7b7aca090978196800",
        "https://git.kernel.org/stable/c/f20b77f7897e6aab9ce5527e6016ad2be5d70a33",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/53xxx/CVE-2024-53186.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-53186",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/53xxx/CVE-2024-53186.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-53186",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 510270,
  "published_at": "2024-12-27T13:49:29.215+00:00"
}