CVE-2022-49066

Source
https://cve.org/CVERecord?id=CVE-2022-49066
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49066.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49066
Downstream
Related
Published
2025-02-26T01:54:34Z
Modified
2026-08-12T03:30:44Z
Summary
veth: Ensure eth header is in skb's linear part
Details

In the Linux kernel, the following vulnerability has been resolved:

veth: Ensure eth header is in skb's linear part

After feeding a decapsulated packet to a veth device with act_mirred, skb_headlen() may be 0. But veth_xmit() calls __dev_forward_skb(), which expects at least ETH_HLEN byte of linear data (as __dev_forward_skb2() calls eth_type_trans(), which pulls ETH_HLEN bytes unconditionally).

Use pskb_may_pull() to ensure veth_xmit() respects this constraint.

kernel BUG at include/linux/skbuff.h:2328! RIP: 0010:eth_type_trans+0xcf/0x140 Call Trace: __dev_forward_skb2+0xe3/0x160 veth_xmit+0x6e/0x250 [veth] dev_hard_start_xmit+0xc7/0x200 __dev_queue_xmit+0x47f/0x520 ? skb_ensure_writable+0x85/0xa0 ? skb_mpls_pop+0x98/0x1c0 tcf_mirred_act+0x442/0x47e [act_mirred] tcf_action_exec+0x86/0x140 fl_classify+0x1d8/0x1e0 [cls_flower] ? dma_pte_clear_level+0x129/0x1a0 ? dma_pte_clear_level+0x129/0x1a0 ? prb_fill_curr_block+0x2f/0xc0 ? skb_copy_bits+0x11a/0x220 __tcf_classify+0x58/0x110 tcf_classify_ingress+0x6b/0x140 __netif_receive_skb_core.constprop.0+0x47d/0xfd0 ? __iommu_dma_unmap_swiotlb+0x44/0x90 __netif_receive_skb_one_core+0x3d/0xa0 netif_receive_skb+0x116/0x170 be_process_rx+0x22f/0x330 [be2net] be_poll+0x13c/0x370 [be2net] __napi_poll+0x2a/0x170 net_rx_action+0x22f/0x2f0 __do_softirq+0xca/0x2a8 __irq_exit_rcu+0xc1/0xe0 common_interrupt+0x83/0xa0

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49066.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e314dbdc1c0dc6a548ecf0afce28ecfd538ff568
Fixed
3de2a02b60a4ef0ab76263216f08c7d095fc7c42
Fixed
d417a859221f127e8edf09c14b76ab50f825e171
Fixed
1ef0088e43af1de4e3b365218c4d3179d9a37eec
Fixed
2fd90b86dff413fbf8128780c04ea9c6849c16e2
Fixed
d67c900f1947d64ba8a64f693504bcaab8d9000c
Fixed
93940fc4cb81840dc0fa202de48cccb949a0261d
Fixed
46bc359fec0c6d87b70d7a008bcd9a5e30dd6f27
Fixed
726e2c5929de841fdcef4e2bf995680688ae1b87

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49066.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.24
Fixed
4.9.311
Type
ECOSYSTEM
Events
Introduced
4.10.0
Fixed
4.14.276
Type
ECOSYSTEM
Events
Introduced
4.15.0
Fixed
4.19.239
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.190
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.112
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.35
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.17.4

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49066.json"