Cloudanix VulnDB

CVE-2023-3776

High · 7.8

CVSS

7.8

EPSS

0.5%

Published

Jul 21, 2023

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel lets someone who already has an account on the computer take over the whole machine.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Privilege Gain
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in net/sched cls_fw: tcf_change_indev failure in fw_set_parms leaves a dangling reference after refcount manipulation, allowing attacker-controlled reuse of freed kernel memory for arbitrary read/write and privilege escalation.

Why it matters to the business

Local users on affected Linux systems can obtain full root access, leading to complete host compromise, data theft, or persistence; kernel-wide impact affects all containers and processes on the machine.

How an attack unfolds

An attacker with a local account crafts traffic or netfilter rules that trigger tcf_change_indev failure, increments then decrements the reference counter to zero, forces the subsequent free, and re-allocates the memory with attacker-controlled data to hijack kernel control flow.

How to fix it

Upgrade the Linux kernel past commit 0323bce598eea038714f941ce2b22541c46d488f or apply the equivalent backported fixes listed for the affected distributions; rebuild and reboot with the patched kernel.

How to confirm the fix worked

Verify the running kernel contains commit 0323bce598eea038714f941ce2b22541c46d488f or later; run regression tests exercising cls_fw filter creation and deletion paths; confirm absence of the vulnerable tcf_bind_filter logic via source inspection or kernel symbol checks.

Typical attack path

  1. Obtain local shell on target Linux host
  2. Trigger cls_fw filter creation that causes tcf_change_indev to fail
  3. Manipulate reference counter via repeated bind/unbind operations
  4. Force use-after-free by returning from fw_set_parms
  5. Reclaim freed object with malicious payload
  6. Escalate to root via corrupted kernel structures

How to detect it

Review kernel logs for oops/panic messages referencing cls_fw or tcf_bind_filter around the time of suspected activity; inspect audit logs for unexpected root transitions or netfilter rule manipulations performed by non-admin users.

What your security team should do

  • Patch all affected kernels to the fixed versions immediately
  • Restrict local user accounts and enforce least-privilege access
  • Monitor for unusual kernel oops or privilege-escalation attempts
  • Consider enabling kernel lockdown or seccomp filters for untrusted workloads

The record

A use-after-free vulnerability in the Linux kernel's net/sched: cls_fw component can be exploited to achieve local privilege escalation. If tcf_change_indev() fails, fw_set_parms() will immediately return an error after incrementing or decrementing the reference counter in tcf_bind_filter(). If an attacker can control the reference counter and set it to zero, they can cause the reference to be freed, leading to a use-after-free vulnerability. We recommend upgrading past commit 0323bce598eea038714f941ce2b22541c46d488f.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 bpftool 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-abi-stablelists 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-core 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-cross-headers 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-debug 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-debug-core 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-debug-devel 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-debug-modules 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-debug-modules-extra 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-devel 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-doc 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-headers 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-modules 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-modules-extra 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-tools 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-tools-libs 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-tools-libs-devel 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-zfcpdump 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-zfcpdump-core 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-zfcpdump-devel 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-zfcpdump-modules 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 kernel-zfcpdump-modules-extra 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 perf 0 4.18.0-477.27.2.el8_8
AlmaLinux:8 python3-perf 0 4.18.0-477.27.2.el8_8
AlmaLinux:9 bpftool 0 7.0.0-284.30.1.el9_2
AlmaLinux:9 kernel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug-devel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug-devel-matched 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug-modules 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug-modules-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-debug-modules-extra 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-devel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-devel-matched 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-modules 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-modules-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-64k-modules-extra 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-abi-stablelists 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-devel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-devel-matched 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-modules 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-modules-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-modules-extra 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-debug-uki-virt 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-devel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-devel-matched 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-modules 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-modules-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-modules-extra 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-rt 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-core 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug-core 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug-devel 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug-kvm 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug-modules 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug-modules-core 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-debug-modules-extra 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-devel 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-kvm 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-modules 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-modules-core 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-rt-modules-extra 0 5.14.0-284.30.1.rt14.315.el9_2
AlmaLinux:9 kernel-tools 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-tools-libs 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-tools-libs-devel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-uki-virt 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump-devel 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump-devel-matched 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump-modules 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump-modules-core 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 kernel-zfcpdump-modules-extra 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 perf 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 python3-perf 0 5.14.0-284.30.1.el9_2
AlmaLinux:9 rtla 0 5.14.0-284.30.1.el9_2
Debian:10 linux 0 4.19.304-1
Debian:10 linux-5.10 0 5.10.197-1~deb10u1
Debian:11 linux 0 5.10.191-1
Debian:12 linux 0 6.1.52-1
Debian:13 linux 0 6.4.4-2
Red Hat:enterprise_linux:7::client bpftool 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client bpftool-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-abi-whitelists 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-bootwrapper 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debug 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debug-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debug-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64le 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-s390x 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-x86_64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-doc 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-headers 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-kdump 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-kdump-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-kdump-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-tools 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-tools-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client perf 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client perf-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client python-perf 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::client python-perf-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode bpftool 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode bpftool-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-abi-whitelists 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-bootwrapper 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debug 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-doc 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-headers 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode perf 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode perf-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode python-perf 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::computenode python-perf-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server bpftool 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server bpftool-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-abi-whitelists 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-bootwrapper 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debug 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debug-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debug-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64le 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-s390x 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-x86_64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-doc 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-headers 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-kdump 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-kdump-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-kdump-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-tools 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-tools-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_102_1 0 0:1-1.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_102_1-debuginfo 0 0:1-1.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_90_1 0 0:1-4.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_90_1-debuginfo 0 0:1-4.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_92_1 0 0:1-4.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_92_1-debuginfo 0 0:1-4.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_95_1 0 0:1-3.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_95_1-debuginfo 0 0:1-3.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_99_1 0 0:1-2.el7
Red Hat:enterprise_linux:7::server kpatch-patch-3_10_0-1160_99_1-debuginfo 0 0:1-2.el7
Red Hat:enterprise_linux:7::server perf 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server perf-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server python-perf 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::server python-perf-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation bpftool 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation bpftool-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-abi-whitelists 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-bootwrapper 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debug 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64le 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-s390x 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-x86_64 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-doc 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-headers 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-debuginfo 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-devel 0 0:3.10.0-1160.105.1.el7
Red Hat:enterprise_linux:7::workstation kernel-tools 0 0:3.10.0-1160.105.1.el7

Related vulnerabilities