Read the docs
TI-2022-25309 Aliases CVE-2022-49808GHSA-m9hv-2rww-w638

net: dsa: don't leak tagger-owned storage on switch driver unbind

Priority LOW 24Published · Updated

Key facts

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

Attack profile from CVSS 3.1 · NVD. Fix status from CNA.

Summary

In the Linux kernel, the following vulnerability has been resolved: net: dsa: don't leak tagger-owned storage on switch driver unbind In the initial commit dc452a471dba ("net: dsa: introduce tagger-owned storage for private and shared data"), we had a call to tag_ops->disconnect(dst) issued from dsa_tree_free(), which is called at tree teardown time. There were problems with connecting to a switch tree as a whole, so this got reworked to connecting to individual switches within the tree. In this process, tag_ops->disconnect(ds) was made to be called only from switch.c (cross-chip notifiers emitted as a result of dynamic tag proto changes), but the normal driver teardown code path wasn't replaced with anything. Solve this problem by adding a function that does the opposite of dsa_switch_setup_tag_protocol(), which is called from the equivalent spot in dsa_switch_teardown(). The positioning here also ensures that we won't have any use-after-free in tagging protocol (*rcv) ops, since the teardown sequence is as follows: dsa_tree_teardown -> dsa_tree_teardown_master -> dsa_master_teardown -> unsets master->dsa_ptr, making no further packets match the ETH_P_XDSA packet type handler -> dsa_tree_teardown_ports -> dsa_port_teardown -> dsa_slave_destroy -> unregisters DSA net devices, there is even a synchronize_net() in unregister_netdevice_many() -> dsa_tree_teardown_switches -> dsa_switch_teardown -> dsa_switch_teardown_tag_protocol -> finally frees the tagger-owned storage

Why it matters now

EPSS 0.0017 6th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 6.0.10, 6.1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux5.17 and later6.0.10, 6.1Patch availableCNA
  • Linux VendorLinux Affected 5.17 and later Fixed in 6.0.10, 6.1 Patch available CNA

CPE configurations NVD · 6

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

Remediation

  • Fix · CNA Linux (Linux) Fixed in 6.0.10, 6.1

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 5 products
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2022-49808
  2. 2026-10-03 Alias added: GHSA-m9hv-2rww-w638

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