Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-27415— netfilter: bridge: confirm multicast packets before passing them up the stack

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于conntrack nf_confirm 逻辑无法处理引用相同 nf_conn 条目的克隆 skb,这将发生在网桥上的多播(广播)帧上。

CVSS 8.8 · High EPSS 0.25% · P16

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< 7c3f28599652acf431a2211168de4a583f30b6d5 affected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< 2b1414d5e94e477edff1d2c79030f1d742625ea0 affected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< 80cd0487f630b5382734997c3e5e3003a77db315 affected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< cb734975b0ffa688ff6cc0eed463865bf07b6c01 affected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< 62e7151ae3eb465e0ab52a20c941ff33bb6332e9 affected
2.6.12 affected
< 2.6.12 unaffected
5.15.151≤ 5.15.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-27415

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
netfilter: bridge: confirm multicast packets before passing them up the stack
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: confirm multicast packets before passing them up the stack conntrack nf_confirm logic cannot handle cloned skbs referencing the same nf_conn entry, which will happen for multicast (broadcast) frames on bridges. Example: macvlan0 | br0 / \ ethX ethY ethX (or Y) receives a L2 multicast or broadcast packet containing an IP packet, flow is not yet in conntrack table. 1. skb passes through bridge and fake-ip (br_netfilter)Prerouting. -> skb->_nfct now references a unconfirmed entry 2. skb is broad/mcast packet. bridge now passes clones out on each bridge interface. 3. skb gets passed up the stack. 4. In macvlan case, macvlan driver retains clone(s) of the mcast skb and schedules a work queue to send them out on the lower devices. The clone skb->_nfct is not a copy, it is the same entry as the original skb. The macvlan rx handler then returns RX_HANDLER_PASS. 5. Normal conntrack hooks (in NF_INET_LOCAL_IN) confirm the orig skb. The Macvlan broadcast worker and normal confirm path will race. This race will not happen if step 2 already confirmed a clone. In that case later steps perform skb_clone() with skb->_nfct already confirmed (in hash table). This works fine. But such confirmation won't happen when eb/ip/nftables rules dropped the packets before they reached the nf_confirm step in postrouting. Pablo points out that nf_conntrack_bridge doesn't allow use of stateful nat, so we can safely discard the nf_conn entry and let inet call conntrack again. This doesn't work for bridge netfilter: skb could have a nat transformation. Also bridge nf prevents re-invocation of inet prerouting via 'sabotage_in' hook. Work around this problem by explicit confirmation of the entry at LOCAL_IN time, before upper layer has a chance to clone the unconfirmed entry. The downside is that this disables NAT and conntrack helpers. Alternative fix would be to add locking to all code parts that deal with unconfirmed packets, but even if that could be done in a sane way this opens up other problems, for example: -m physdev --physdev-out eth0 -j SNAT --snat-to 1.2.3.4 -m physdev --physdev-out eth1 -j SNAT --snat-to 1.2.3.5 For multicast case, only one of such conflicting mappings will be created, conntrack only handles 1:1 NAT mappings. Users should set create a setup that explicitly marks such traffic NOTRACK (conntrack bypass) to avoid this, but we cannot auto-bypass them, ruleset might have accept rules for untracked traffic already, so user-visible behaviour would change.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于conntrack nf_confirm 逻辑无法处理引用相同 nf_conn 条目的克隆 skb,这将发生在网桥上的多播(广播)帧上。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ~ 7c3f28599652acf431a2211168de4a583f30b6d5 -
Linux Linux 2.6.12 -

II. Public POCs for CVE-2024-27415

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-27415

请登录查看更多情报信息。

Other References for CVE-2024-27415 (5)

Same Patch Batch · Linux · 2024-05-17 · 135 CVEs total

CVE-2023-52687 9.8 CRITICAL crypto: safexcel - Add error handling for dma_map_sg() calls
CVE-2024-35856 8.8 HIGH Bluetooth: btusb: mediatek: Fix double free of skb in coredump
CVE-2024-35804 8.8 HIGH KVM: x86: Mark target gfn of emulated atomic instruction as dirty
CVE-2024-35843 8.8 HIGH iommu/vt-d: Use device rbtree in iopf reporting path
CVE-2024-35811 8.8 HIGH wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach
CVE-2024-27416 8.8 HIGH Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST
CVE-2024-27404 8.2 HIGH mptcp: fix data races on remote_id
CVE-2023-52669 8.2 HIGH crypto: s390/aes - Fix buffer overread in CTR mode
CVE-2024-35834 8.2 HIGH xsk: recycle buffer in case Rx queue was full
CVE-2024-35789 8.0 HIGH wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes
CVE-2024-35830 7.8 HIGH media: tc358743: register v4l2 async device only after successful setup
CVE-2024-35793 7.8 HIGH debugfs: fix wait/cancellation handling during remove
CVE-2024-35827 7.8 HIGH io_uring/net: fix overflow check in io_recvmsg_mshot_prep()
CVE-2023-52662 7.8 HIGH drm/vmwgfx: fix a memleak in vmw_gmrid_man_get_node
CVE-2024-35817 7.8 HIGH drm/amdgpu: amdgpu_ttm_gart_bind set gtt bound flag
CVE-2024-35808 7.8 HIGH md/dm-raid: don't call md_reap_sync_thread() directly
CVE-2024-27403 7.8 HIGH netfilter: nft_flow_offload: reset dst in route object after setting up flow
CVE-2024-35798 7.8 HIGH btrfs: fix race in read_extent_buffer_pages()
CVE-2024-35814 7.8 HIGH swiotlb: Fix double-allocation of slots due to broken alignment handling
CVE-2024-35810 7.8 HIGH drm/vmwgfx: Fix the lifetime of the bo cursor memory

Showing top 20 of 135 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-27415

No comments yet


Leave a comment