Read the docs
TI-2021-22236 Aliases CVE-2021-47592GHSA-8c7q-xg4v-xr24

net: stmmac: fix tc flower deletion for VLAN priority Rx steering

Priority LOW 24CWE-476Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and Red Hat. Impact type from CWE-476.

Summary

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix tc flower deletion for VLAN priority Rx steering To replicate the issue:- 1) Add 1 flower filter for VLAN Priority based frame steering:- $ IFDEVNAME=eth0 $ tc qdisc add dev $IFDEVNAME ingress $ tc qdisc add dev $IFDEVNAME root mqprio num_tc 8 \ map 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 \ queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 hw 0 $ tc filter add dev $IFDEVNAME parent ffff: protocol 802.1Q \ flower vlan_prio 0 hw_tc 0 2) Get the 'pref' id $ tc filter show dev $IFDEVNAME ingress 3) Delete a specific tc flower record (say pref 49151) $ tc filter del dev $IFDEVNAME parent ffff: pref 49151 From dmesg, we will observe kernel NULL pointer ooops [ 197.170464] BUG: kernel NULL pointer dereference, address: 0000000000000000 [ 197.171367] #PF: supervisor read access in kernel mode [ 197.171367] #PF: error_code(0x0000) - not-present page [ 197.171367] PGD 0 P4D 0 [ 197.171367] Oops: 0000 [#1] PREEMPT SMP NOPTI <snip> [ 197.171367] RIP: 0010:tc_setup_cls+0x20b/0x4a0 [stmmac] <snip> [ 197.171367] Call Trace: [ 197.171367] <TASK> [ 197.171367] ? __stmmac_disable_all_queues+0xa8/0xe0 [stmmac] [ 197.171367] stmmac_setup_tc_block_cb+0x70/0x110 [stmmac] [ 197.171367] tc_setup_cb_destroy+0xb3/0x180 [ 197.171367] fl_hw_destroy_filter+0x94/0xc0 [cls_flower] The above issue is due to previous incorrect implementation of tc_del_vlan_flow(), shown below, that uses flow_cls_offload_flow_rule() to get struct flow_rule *rule which is no longer valid for tc filter delete operation. struct flow_rule *rule = flow_cls_offload_flow_rule(cls); struct flow_dissector *dissector = rule->match.dissector; So, to ensure tc_del_vlan_flow() deletes the right VLAN cls record for earlier configured RX queue (configured by hw_tc) in tc_add_vlan_flow(), this patch introduces stmmac_rfs_entry as driver-side flow_cls_offload record for 'RX frame steering' tc flower, currently used for VLAN priority. The implementation has taken consideration for future extension to include other type RX frame steering such as EtherType based. v2: - Clean up overly extensive backtrace and rewrite git message to better explain the kernel NULL pointer issue.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00208 10th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 5.15.11, 5.16Red Hat: 4 advisories

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux5.13 and later5.15.11, 5.16Patch availableCNA
  • Linux VendorLinux Affected 5.13 and later Fixed in 5.15.11, 5.16 Patch available CNA

CPE configurations NVD · 6

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*5.13 to before 5.15.11VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:*5.16 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:*5.16 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:*5.16 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:*5.16 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:*5.16 rc5VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 5.13 to before 5.15.11 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:* Versions 5.16 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:* Versions 5.16 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:* Versions 5.16 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:* Versions 5.16 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:5.16:rc5:*:*:*:*:*:* Versions 5.16 rc5 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 5.15.11, 5.16

Red Hat 4 advisories

  • RHSA-2023:2951 Released 2023-05-16 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-477.10.1.el8_8, kernel-4.18.0-477.10.1.el8_8, kernel-abi-stablelists-4.18.0-477.10.1.el8_8 +19
    • Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-477.10.1.el8_8
  • RHSA-2023:2736 Released 2023-05-16 · Red Hat rating Important
    kernel-rt security and bug fix update
    • Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-477.10.1.rt7.274.el8_8, kernel-rt-core-4.18.0-477.10.1.rt7.274.el8_8, kernel-rt-debug-4.18.0-477.10.1.rt7.274.el8_8 +9
    • Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-477.10.1.rt7.274.el8_8, kernel-rt-core-4.18.0-477.10.1.rt7.274.el8_8, kernel-rt-debug-4.18.0-477.10.1.rt7.274.el8_8 +7
  • RHSA-2023:2458 Released 2023-05-09 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-284.11.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.11.1.el9_2, kernel-64k-devel-5.14.0-284.11.1.el9_2 +10
    • Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.0.0-284.11.1.el9_2, kernel-5.14.0-284.11.1.el9_2, kernel-64k-5.14.0-284.11.1.el9_2 +29
    • Red Hat Enterprise Linux CRB (v. 9) kernel-tools-libs-devel-5.14.0-284.11.1.el9_2
Show 1 more Red Hat advisories
  • RHSA-2023:2148 Released 2023-05-09 · Red Hat rating Important
    kernel-rt security and bug fix update
    • Red Hat Enterprise Linux NFV (v. 9) kernel-rt-5.14.0-284.11.1.rt14.296.el9_2, kernel-rt-core-5.14.0-284.11.1.rt14.296.el9_2, kernel-rt-debug-5.14.0-284.11.1.rt14.296.el9_2 +11
    • Red Hat Enterprise Linux RT (v. 9) kernel-rt-5.14.0-284.11.1.rt14.296.el9_2, kernel-rt-core-5.14.0-284.11.1.rt14.296.el9_2, kernel-rt-debug-5.14.0-284.11.1.rt14.296.el9_2 +9

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2023:2458
Red Hat Enterprise Linux BaseOS (v. 8)Fixed RHSA-2023:2951
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2023:2458
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2023:2951
Red Hat Enterprise Linux CRB (v. 9)Fixed RHSA-2023:2458
Red Hat Enterprise Linux NFV (v. 8)Fixed RHSA-2023:2736
Red Hat Enterprise Linux NFV (v. 9)Fixed RHSA-2023:2148
Red Hat Enterprise Linux RT (v. 8)Fixed RHSA-2023:2736
Red Hat Enterprise Linux RT (v. 9)Fixed RHSA-2023:2148
Not affected: 2 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

Timeline

  1. 2026-10-02 Threatist record created from CVE-2021-47592
  2. 2026-10-03 Alias added: GHSA-8c7q-xg4v-xr24

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources