dpaa2-switch: rework FDB management on the bridge leave path
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.222, 6.1.189, 6.6.158, 6.12.111, 6.18.53
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: dpaa2-switch: rework FDB management on the bridge leave path On bridge leave, the dpaa2_switch_port_set_fdb() function always allocates a new FDB for the port which is becoming standalone. In case no FDB is found, then the port leaving a bridge will continue to use the current one. The above logic does not cover the case in which there are multiple bridges which have ports from the same DPSW instance. In this case, when the last port leaves bridge #1, it finds an unused FDB to switch to, but the old FDB is not marked as unused. Since the number of FDBs is equal to the number of DPSW interfaces, this will eventually lead to multiple ports sharing the same FDB. Fix this by changing how we are managing the FDBs on the leave path. Instead of directly allocating a new FDB, first verify if the current port is the last one to leave a bridge. If this is the case, then continue to use the current FDB and only allocate another FDB if there are other ports remaining in the bridge.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 539dda3c5d190c5088b5e57944b1b482fcb464de · fixed in ec41bfd281a8bc8027a42d2674eac5b74947ff7a; From 539dda3c5d190c5088b5e57944b1b482fcb464de · fixed in e07ff2338f45adbf572850335d761c2f97545935; From 539dda3c5d190c5088b5e57944b1b482fcb464de · fixed in dc626f2abb3052881911b6166a9425739ce80085; From 539dda3c5d190c5088b5e57944b1b482fcb464de · fixed in abea361a11e4e48695ea149652ef5d3f308b6a49; From 539dda3c5d190c5088b5e57944b1b482fcb464de · fixed in 5adbc4d02d7df8bd7aa02c21874f7a582a576b55; From 539dda3c5d190c5088b5e57944b1b482fcb464de · fixed in efc1d92eacf03afa6f4d53bf7120e059b6f961f2
- Linux Linux
5.13
- KernelLinux
From 5.13.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53