CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-74480

CVE-2026-74480: Use-After-Free in Linux Kernel Network Bridge Multicast Routing

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 25, 2026·6 min read·3 visits

Executive Summary (TL;DR)

A missing break statement in the Linux kernel's bridge multicast fast-leave handler leads to a Use-After-Free condition, allowing remote network-based Denial of Service or local privilege escalation.

CVE-2026-74480 is a critical memory safety vulnerability in the Linux kernel's network bridge multicast routing subsystem (net: bridge) resulting from a Use-After-Free (UAF) condition during fast-leave processing of IGMP/MLD multicast groups.

Vulnerability Overview

The vulnerability CVE-2026-74480 affects the Linux kernel network bridge multicast routing subsystem, specifically within the br_multicast_leave_group function in net/bridge/br_multicast.c. This subsystem handles Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) snooping, allowing Layer 2 bridges to selectively forward multicast traffic to active subscribers. The defect is classified under CWE-416 (Use-After-Free).

The vulnerability is triggered during fast-leave processing of multicast groups on a bridge port that initially has multicast-to-unicast capabilities enabled and subsequently disabled. This logical sequence of configuration changes creates duplicate or overlapping port group entries in the bridge's multicast database. The attack surface is exposed to any network interface bridged by a vulnerable Linux host.

Successful exploitation can corrupt the internal database structures, resulting in an immediate local or remote Denial of Service (DoS) via kernel panic. In containerized or virtualized environments sharing the host network stack, the memory corruption could be leveraged to execute arbitrary code within the kernel context or achieve container escape.

Root Cause Analysis

The root cause of CVE-2026-74480 stems from an incomplete loop exit strategy during the deletion of a multicast port group. When multicast-to-unicast is active, the bridge tracks multiple net_bridge_port_group configurations for identical physical ports using distinct source MAC addresses. When this capability is subsequently disabled, the flag BR_MULTICAST_TO_UNICAST_BIT is cleared, changing the output of the equality matching function br_port_group_equal().

Once the bit is cleared, br_port_group_equal() returns true based solely on the match of the bridge port pointer, ignoring unique source MAC addresses. Consequently, the multicast database accumulates multiple distinct entries pointing to the same logical port. These entries are treated as identical under the newly modified evaluation logic, which populates the mp->ports list with duplicate matches.

When a fast-leave request is triggered, br_multicast_leave_group() iterates through the mp->ports list using a double-pointer iterator pp initialized to the address of mp->ports. The loop locates the matching port group, marks it with the MDB_PG_FLAGS_FAST_LEAVE flag, and deletes it using br_multicast_del_pg(). Because the loop lacks a break statement following the deletion call, the iterator continues execution, advancing to the increment statement pp = &p->next and dereferencing the next pointer of the recently freed p structure.

Code Analysis

The vulnerable code path is located in net/bridge/br_multicast.c. Analysis of the loop structure demonstrates how the iterator pp becomes a dangling pointer after the deletion operation.

// Vulnerable loop representation in net/bridge/br_multicast.c
for (pp = &mp->ports;
     (p = mlock_dereference(*pp, brmctx->br)) != NULL;
     pp = &p->next) {
	if (br_port_group_equal(p, port, src)) {
		p->flags |= MDB_PG_FLAGS_FAST_LEAVE;
		br_multicast_del_pg(mp, p, pp); // Deletes and immediately queues 'p' to be freed
		// Missing break statement allows the loop to proceed
	}
	goto out;
}

The function br_multicast_del_pg() unlinks p from the list and schedules it for deallocation via the garbage collector. Because there is no termination logic, the loop returns to the third statement in the for loop declaration: pp = &p->next. At this execution point, p is a freed block of memory, resulting in an immediate invalid read when attempting to access p->next.

The official fix implements a single break; statement directly following the deletion function call. This ensures that the loop terminates immediately after unlinking the target, avoiding the evaluation of the increment expression.

// Patched loop representation in net/bridge/br_multicast.c
for (pp = &mp->ports;
     (p = mlock_dereference(*pp, brmctx->br)) != NULL;
     pp = &p->next) {
	if (br_port_group_equal(p, port, src)) {
		p->flags |= MDB_PG_FLAGS_FAST_LEAVE;
		br_multicast_del_pg(mp, p, pp);
		break; // Added by fix commit to terminate traversal
	}
	goto out;
}

Exploitation Methodology

Exploiting this defect requires a multi-stage configuration sequence on the target bridge interface. First, the target system must have bridge multicast snooping enabled and the multicast-to-unicast feature toggled from enabled to disabled on a bridge port. This populates the database with multiple distinct entries that match the same physical port configuration.

Second, the attacker transmits a specially crafted IGMP (for IPv4) or MLD (for IPv6) Leave Group network packet over the bridged segment. Upon receipt, the network stack forwards the packet to br_multicast_leave_group() to handle the fast-leave request. The execution flow enters the vulnerable loop and processes the match.

When the loop traverses the duplicate entries, the first match triggers br_multicast_del_pg(), which frees the memory backing p. The loop then attempts to read p->next from the freed memory area. In standard environments, this results in a page fault and kernel panic. In advanced exploitation scenarios, local attackers may use slab allocation spraying techniques to overwrite the deallocated memory block prior to the dereference, redirecting kernel execution flow.

Impact Assessment

The security impact of CVE-2026-74480 is critical, as reflected by its CVSS score of 9.8. The vulnerability is accessible over the network without authentication, requiring no user interaction. It presents a low attack complexity because standard network control packets are sufficient to trigger the code path.

The most immediate risk is a complete loss of availability. A crash of the Layer 2 bridging driver causes the entire operating system to panic, shutting down network gateways, bare-metal servers, or virtualized hosts. In multi-tenant cloud environments, a crash of the hypervisor's bridging driver results in a Denial of Service for all hosted virtual machines and containers.

If the memory space can be reliably controlled and manipulated prior to the dereference, privilege escalation or escape from containerized namespaces is theoretically possible. No public exploit payloads or active campaigns have been reported in the wild, and the current exploit maturity is classified as none.

Mitigation and Remediation Guidance

The permanent resolution for CVE-2026-74480 is updating the host operating system's kernel to a version containing the official patch. Long-Term Support (LTS) kernel branches have been patched upstream. Systems must be updated to version 5.10.265, 5.15.216, 6.1.183, 6.6.151, 6.12.103, 6.18.44, 7.1.8, or 7.2 or newer.

For systems where immediate kernel updates and reboots are not possible, administrators can apply workarounds to reduce exposure. Disabling multicast snooping on active bridge interfaces completely bypasses the vulnerable execution path. This can be configured dynamically using the following command:

ip link set dev <bridge_name> type bridge mcast_snooping 0

Additionally, administrators can use packet filtering tools such as ebtables or nftables to block incoming IGMP or MLD Leave Group query packets from untrusted sources. To prevent the initial configuration prerequisite, avoid dynamically toggling the multicast-to-unicast configuration on active bridge ports.

Official Patches

Linux Kernel ArchivesUpstream Linux Mainline Git Commit
Linux Kernel Archives5.10.y Backport Commit
Linux Kernel Archives5.15.y Backport Commit
Linux Kernel Archives6.1.y Backport Commit
Linux Kernel Archives6.6.y Backport Commit
Linux Kernel Archives6.12.y Backport Commit
Linux Kernel Archives6.18.y Backport Commit
Linux Kernel Archives7.1.y Backport Commit

Fix Analysis (1)

Technical Appendix

CVSS Score
9.8/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Probability
0.76%
Top 47% most exploited

Affected Systems

Linux Kernel 4.11 up to, but excluding, 7.2 (on configurations with bridge multicast snooping and multicast-to-unicast toggled)

Affected Versions Detail

Product
Affected Versions
Fixed Version
Linux Kernel
Linux Foundation
>= 4.11, < 5.10.2655.10.265
Linux Kernel
Linux Foundation
>= 5.11, < 5.15.2165.15.216
Linux Kernel
Linux Foundation
>= 5.16, < 6.1.1836.1.183
Linux Kernel
Linux Foundation
>= 6.2, < 6.6.1516.6.151
Linux Kernel
Linux Foundation
>= 6.7, < 6.12.1036.12.103
Linux Kernel
Linux Foundation
>= 6.13, < 6.18.446.18.44
Linux Kernel
Linux Foundation
>= 6.19, < 7.1.87.1.8
Linux Kernel
Linux Foundation
>= 7.1.9, < 7.27.2
AttributeDetail
CWE IDCWE-416
Attack VectorNetwork
CVSS v3.19.8 (Critical)
EPSS Score0.00755
ImpactDenial of Service (DoS) / Remote Code Execution (RCE)
Exploit StatusNone
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-416
Use After Free

The product references memory after it has been freed, which can lead to a crash, unexpected behavior, or execution of arbitrary code.

References & Sources

  • [1]NVD CVE-2026-74480 Record
  • [2]CVE.org CVE-2026-74480 Authority Record
  • [3]Patch Announcement & LKML Discussion

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 1 hour ago•CVE-2026-57231
7.5

CVE-2026-57231: Podman Malformed Image Host Environment Variable Leak

CVE-2026-57231 is a high-severity vulnerability in the Podman container engine. When executing a container from a crafted OCI or Docker image, malformed environment variable entries lacking an equals separator can trigger an unexpected behavior in the spec generation parser. This vulnerability enables a container image to silently exfiltrate host environment variables into the running container workspace, exposing high-privilege credentials and sensitive runtime secrets.

Amit Schendel
Amit Schendel
4 views•8 min read
•about 1 hour ago•CVE-2026-21992
9.8

Oracle Fusion Middleware Security Alert Advisory - CVE-2026-21992

CVE-2026-21992 is a critical, unauthenticated remote code execution (RCE) vulnerability affecting the REST WebServices component of Oracle Identity Manager (OIM) and the Web Services Security component of Oracle Web Services Manager (OWSM). Exploitation occurs over standard network protocols without user interaction, enabling a complete compromise of target system infrastructure.

Alon Barad
Alon Barad
2 views•6 min read
•about 2 hours ago•CVE-2026-61782
7.5

CVE-2026-61782: Sensitive Information Disclosure and Source Code Exfiltration via Insecure HTTP Server Defaults in @rsdoctor/rspack-plugin

An insecure configuration in the diagnostic HTTP server of @rsdoctor/rspack-plugin allowed unauthenticated remote attackers or malicious local websites to retrieve serialized build metadata and full source code modules.

Alon Barad
Alon Barad
4 views•7 min read
•about 3 hours ago•CVE-2026-59980
6.3

CVE-2026-59980: Uncontrolled Resource Consumption in python-hyper/hpack

CVE-2026-59980 is a CPU exhaustion vulnerability in python-hyper/hpack, where an unauthenticated remote attacker can trigger an infinite loop or high computational complexity overhead by sending a crafted HTTP/2 stream containing excessive variable-length integer continuation octets.

Amit Schendel
Amit Schendel
6 views•8 min read
•about 4 hours ago•CVE-2026-61816
7.5

CVE-2026-61816: Uncontrolled Resource Consumption and Algorithmic Complexity in zbateson/mail-mime-parser

The PHP email processing library zbateson/mail-mime-parser is vulnerable to multiple algorithmic complexity exploits. By submitting small, highly structured email payloads, remote, unauthenticated attackers can trigger high CPU utilization or out-of-memory states, causing an application-wide denial of service.

Alon Barad
Alon Barad
6 views•6 min read
•about 5 hours ago•CVE-2026-61815
7.2

CVE-2026-61815: Remote SMTP Header Injection via Unsanitized MIME Decoded Filenames in zbateson/mail-mime-parser

CVE-2026-61815 is a high-severity Carriage Return / Line Feed (CRLF) header injection vulnerability in the zbateson/mail-mime-parser library. Due to incomplete sanitization logic, encoded newline sequences within filenames and headers survive parsing and translate into literal CRLF control bytes. When applications process or forward these payloads, the library writes the unescaped control bytes directly into outbound SMTP metadata, allowing remote attackers to inject rogue headers or compromise message integrity.

Alon Barad
Alon Barad
5 views•6 min read