{"api_version":"1","generated_at":"2026-09-24T23:02:41+00:00","cve":"CVE-2026-97436","urls":{"html":"https://cve.report/CVE-2026-97436","api":"https://cve.report/api/cve/CVE-2026-97436.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-97436","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-97436"},"summary":{"title":"dpaa2-switch: rework FDB management on the bridge leave path","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndpaa2-switch: rework FDB management on the bridge leave path\n\nOn bridge leave, the dpaa2_switch_port_set_fdb() function always\nallocates a new FDB for the port which is becoming standalone. In case\nno FDB is found, then the port leaving a bridge will continue to use the\ncurrent one.\n\nThe above logic does not cover the case in which there are multiple\nbridges which have ports from the same DPSW instance. In this case, when\nthe last port leaves bridge #1, it finds an unused FDB to switch to, but\nthe old FDB is not marked as unused. Since the number of FDBs is equal\nto the number of DPSW interfaces, this will eventually lead to multiple\nports sharing the same FDB.\n\nFix this by changing how we are managing the FDBs on the leave path.\nInstead of directly allocating a new FDB, first verify if the current\nport is the last one to leave a bridge. If this is the case, then\ncontinue to use the current FDB and only allocate another FDB if there\nare other ports remaining in the bridge.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-24 17:17:21","updated_at":"2026-09-24 17:17:21"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/5adbc4d02d7df8bd7aa02c21874f7a582a576b55","name":"https://git.kernel.org/stable/c/5adbc4d02d7df8bd7aa02c21874f7a582a576b55","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/abea361a11e4e48695ea149652ef5d3f308b6a49","name":"https://git.kernel.org/stable/c/abea361a11e4e48695ea149652ef5d3f308b6a49","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/efc1d92eacf03afa6f4d53bf7120e059b6f961f2","name":"https://git.kernel.org/stable/c/efc1d92eacf03afa6f4d53bf7120e059b6f961f2","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-97436","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97436","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 abea361a11e4e48695ea149652ef5d3f308b6a49 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 5adbc4d02d7df8bd7aa02c21874f7a582a576b55 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 efc1d92eacf03afa6f4d53bf7120e059b6f961f2 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.12.111 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18.53 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.111 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.53 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"abea361a11e4e48695ea149652ef5d3f308b6a49","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"5adbc4d02d7df8bd7aa02c21874f7a582a576b55","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"efc1d92eacf03afa6f4d53bf7120e059b6f961f2","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"6.12.111","status":"affected","version":"0","versionType":"semver"},{"lessThan":"6.18.53","status":"affected","version":"0","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.111","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.53","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.111","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.53","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndpaa2-switch: rework FDB management on the bridge leave path\n\nOn bridge leave, the dpaa2_switch_port_set_fdb() function always\nallocates a new FDB for the port which is becoming standalone. In case\nno FDB is found, then the port leaving a bridge will continue to use the\ncurrent one.\n\nThe above logic does not cover the case in which there are multiple\nbridges which have ports from the same DPSW instance. In this case, when\nthe last port leaves bridge #1, it finds an unused FDB to switch to, but\nthe old FDB is not marked as unused. Since the number of FDBs is equal\nto the number of DPSW interfaces, this will eventually lead to multiple\nports sharing the same FDB.\n\nFix this by changing how we are managing the FDBs on the leave path.\nInstead of directly allocating a new FDB, first verify if the current\nport is the last one to leave a bridge. If this is the case, then\ncontinue to use the current FDB and only allocate another FDB if there\nare other ports remaining in the bridge."}],"providerMetadata":{"dateUpdated":"2026-09-24T16:03:49.183Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/abea361a11e4e48695ea149652ef5d3f308b6a49"},{"url":"https://git.kernel.org/stable/c/5adbc4d02d7df8bd7aa02c21874f7a582a576b55"},{"url":"https://git.kernel.org/stable/c/efc1d92eacf03afa6f4d53bf7120e059b6f961f2"}],"title":"dpaa2-switch: rework FDB management on the bridge leave path","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-97436","datePublished":"2026-09-24T16:03:49.183Z","dateReserved":"2026-09-24T14:53:16.869Z","dateUpdated":"2026-09-24T16:03:49.183Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-24 17:17:21","lastModifiedDate":"2026-09-24 17:17:21","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"97436","Ordinal":"1","Title":"dpaa2-switch: rework FDB management on the bridge leave path","CVE":"CVE-2026-97436","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"97436","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\ndpaa2-switch: rework FDB management on the bridge leave path\n\nOn bridge leave, the dpaa2_switch_port_set_fdb() function always\nallocates a new FDB for the port which is becoming standalone. In case\nno FDB is found, then the port leaving a bridge will continue to use the\ncurrent one.\n\nThe above logic does not cover the case in which there are multiple\nbridges which have ports from the same DPSW instance. In this case, when\nthe last port leaves bridge #1, it finds an unused FDB to switch to, but\nthe old FDB is not marked as unused. Since the number of FDBs is equal\nto the number of DPSW interfaces, this will eventually lead to multiple\nports sharing the same FDB.\n\nFix this by changing how we are managing the FDBs on the leave path.\nInstead of directly allocating a new FDB, first verify if the current\nport is the last one to leave a bridge. If this is the case, then\ncontinue to use the current FDB and only allocate another FDB if there\nare other ports remaining in the bridge.","Type":"Description","Title":"dpaa2-switch: rework FDB management on the bridge leave path"}]}}}