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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2022-48651— ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header

EPSS 0.00% · P0
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2022-48651

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
ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header If an AF_PACKET socket is used to send packets through ipvlan and the default xmit function of the AF_PACKET socket is changed from dev_queue_xmit() to packet_direct_xmit() via setsockopt() with the option name of PACKET_QDISC_BYPASS, the skb->mac_header may not be reset and remains as the initial value of 65535, this may trigger slab-out-of-bounds bugs as following: ================================================================= UG: KASAN: slab-out-of-bounds in ipvlan_xmit_mode_l2+0xdb/0x330 [ipvlan] PU: 2 PID: 1768 Comm: raw_send Kdump: loaded Not tainted 6.0.0-rc4+ #6 ardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-1.fc33 all Trace: print_address_description.constprop.0+0x1d/0x160 print_report.cold+0x4f/0x112 kasan_report+0xa3/0x130 ipvlan_xmit_mode_l2+0xdb/0x330 [ipvlan] ipvlan_start_xmit+0x29/0xa0 [ipvlan] __dev_direct_xmit+0x2e2/0x380 packet_direct_xmit+0x22/0x60 packet_snd+0x7c9/0xc40 sock_sendmsg+0x9a/0xa0 __sys_sendto+0x18a/0x230 __x64_sys_sendto+0x74/0x90 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd The root cause is: 1. packet_snd() only reset skb->mac_header when sock->type is SOCK_RAW and skb->protocol is not specified as in packet_parse_headers() 2. packet_direct_xmit() doesn't reset skb->mac_header as dev_queue_xmit() In this case, skb->mac_header is 65535 when ipvlan_xmit_mode_l2() is called. So when ipvlan_xmit_mode_l2() gets mac header with eth_hdr() which use "skb->head + skb->mac_header", out-of-bound access occurs. This patch replaces eth_hdr() with skb_eth_hdr() in ipvlan_xmit_mode_l2() and reset mac header in multicast to solve this out-of-bound bug.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未设置 skb->mac_header 导致出现出界错误。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux 2ad7bf3638411cb547f2823df08166c13ab04269 ~ e2b46cd5796f083e452fbc624f65b80328b0c1a4 -
LinuxLinux 3.19 -

II. Public POCs for CVE-2022-48651

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2022-48651

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-04-28 · 40 CVEs total

CVE-2022-48638cgroup: cgroup_get_from_id() must check the looked-up kn is a directory
CVE-2022-48647sfc: fix TX channel offset when using legacy interrupts
CVE-2022-48646sfc/siena: fix null pointer dereference in efx_hard_start_xmit
CVE-2022-48645net: enetc: deny offload of tc-based TSN features on VF interfaces
CVE-2022-48644net/sched: taprio: avoid disabling offload when it was never enabled
CVE-2022-48643netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain()
CVE-2022-48642netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain()
CVE-2022-48641netfilter: ebtables: fix memory leak when blob is malformed
CVE-2022-48640bonding: fix NULL deref in bond_rr_gen_slave_id
CVE-2022-48639net: sched: fix possible refcount leak in tc_new_tfilter()
CVE-2022-48648sfc: fix null pointer dereference in efx_hard_start_xmit
CVE-2022-48637bnxt: prevent skb UAF after handing over to PTP worker
CVE-2022-48636s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
CVE-2022-48635fsdax: Fix infinite loop in dax_iomap_rw()
CVE-2022-48634drm/gma500: Fix BUG: sleeping function called from invalid context errors
CVE-2022-48633drm/gma500: Fix WARN_ON(lock->magic != lock) error
CVE-2022-48632i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
CVE-2022-48631ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
CVE-2024-26928smb: client: fix potential UAF in cifs_debug_files_proc_show()
CVE-2024-26927ASoC: SOF: Add some bounds checking to firmware data

Showing top 20 of 40 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2022-48651

No comments yet


Leave a comment