{"id":"CVE-2022-49066","state":"PUBLISHED","title":"veth: Ensure eth header is in skb's linear part","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nveth: Ensure eth header is in skb's linear part\n\nAfter feeding a decapsulated packet to a veth device with act_mirred,\nskb_headlen() may be 0. But veth_xmit() calls __dev_forward_skb(),\nwhich expects at least ETH_HLEN byte of linear data (as\n__dev_forward_skb2() calls eth_type_trans(), which pulls ETH_HLEN bytes\nunconditionally).\n\nUse pskb_may_pull() to ensure veth_xmit() respects this constraint.\n\nkernel BUG at include/linux/skbuff.h:2328!\nRIP: 0010:eth_type_trans+0xcf/0x140\nCall Trace:\n <IRQ>\n __dev_forward_skb2+0xe3/0x160\n veth_xmit+0x6e/0x250 [veth]\n dev_hard_start_xmit+0xc7/0x200\n __dev_queue_xmit+0x47f/0x520\n ? skb_ensure_writable+0x85/0xa0\n ? skb_mpls_pop+0x98/0x1c0\n tcf_mirred_act+0x442/0x47e [act_mirred]\n tcf_action_exec+0x86/0x140\n fl_classify+0x1d8/0x1e0 [cls_flower]\n ? dma_pte_clear_level+0x129/0x1a0\n ? dma_pte_clear_level+0x129/0x1a0\n ? prb_fill_curr_block+0x2f/0xc0\n ? skb_copy_bits+0x11a/0x220\n __tcf_classify+0x58/0x110\n tcf_classify_ingress+0x6b/0x140\n __netif_receive_skb_core.constprop.0+0x47d/0xfd0\n ? __iommu_dma_unmap_swiotlb+0x44/0x90\n __netif_receive_skb_one_core+0x3d/0xa0\n netif_receive_skb+0x116/0x170\n be_process_rx+0x22f/0x330 [be2net]\n be_poll+0x13c/0x370 [be2net]\n __napi_poll+0x2a/0x170\n net_rx_action+0x22f/0x2f0\n __do_softirq+0xca/0x2a8\n __irq_exit_rcu+0xc1/0xe0\n common_interrupt+0x83/0xa0","publishedAt":"2025-02-26T01:54:34.395Z","updatedAt":"2026-05-11T18:52:22.189Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"3de2a02b60a4ef0ab76263216f08c7d095fc7c42","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"d417a859221f127e8edf09c14b76ab50f825e171","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"1ef0088e43af1de4e3b365218c4d3179d9a37eec","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"2fd90b86dff413fbf8128780c04ea9c6849c16e2","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"d67c900f1947d64ba8a64f693504bcaab8d9000c","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"93940fc4cb81840dc0fa202de48cccb949a0261d","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"46bc359fec0c6d87b70d7a008bcd9a5e30dd6f27","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"726e2c5929de841fdcef4e2bf995680688ae1b87","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/veth.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.24","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.24","versionType":"semver"},{"version":"4.9.311","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.276","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.239","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.190","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.112","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.35","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.17.4","status":"unaffected","lessThanOrEqual":"5.17.*","versionType":"semver"},{"version":"5.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/veth.c"]}],"references":["https://git.kernel.org/stable/c/3de2a02b60a4ef0ab76263216f08c7d095fc7c42","https://git.kernel.org/stable/c/d417a859221f127e8edf09c14b76ab50f825e171","https://git.kernel.org/stable/c/1ef0088e43af1de4e3b365218c4d3179d9a37eec","https://git.kernel.org/stable/c/2fd90b86dff413fbf8128780c04ea9c6849c16e2","https://git.kernel.org/stable/c/d67c900f1947d64ba8a64f693504bcaab8d9000c","https://git.kernel.org/stable/c/93940fc4cb81840dc0fa202de48cccb949a0261d","https://git.kernel.org/stable/c/46bc359fec0c6d87b70d7a008bcd9a5e30dd6f27","https://git.kernel.org/stable/c/726e2c5929de841fdcef4e2bf995680688ae1b87"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49066.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49066","state":"PUBLISHED","datePublished":"2025-02-26T01:54:34.395Z","dateUpdated":"2026-05-11T18:52:22.189Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-02-26T01:49:39.244Z"},"containers":{"cna":{"title":"veth: Ensure eth header is in skb's linear part","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nveth: Ensure eth header is in skb's linear part\n\nAfter feeding a decapsulated packet to a veth device with act_mirred,\nskb_headlen() may be 0. But veth_xmit() calls __dev_forward_skb(),\nwhich expects at least ETH_HLEN byte of linear data (as\n__dev_forward_skb2() calls eth_type_trans(), which pulls ETH_HLEN bytes\nunconditionally).\n\nUse pskb_may_pull() to ensure veth_xmit() respects this constraint.\n\nkernel BUG at include/linux/skbuff.h:2328!\nRIP: 0010:eth_type_trans+0xcf/0x140\nCall Trace:\n <IRQ>\n __dev_forward_skb2+0xe3/0x160\n veth_xmit+0x6e/0x250 [veth]\n dev_hard_start_xmit+0xc7/0x200\n __dev_queue_xmit+0x47f/0x520\n ? skb_ensure_writable+0x85/0xa0\n ? skb_mpls_pop+0x98/0x1c0\n tcf_mirred_act+0x442/0x47e [act_mirred]\n tcf_action_exec+0x86/0x140\n fl_classify+0x1d8/0x1e0 [cls_flower]\n ? dma_pte_clear_level+0x129/0x1a0\n ? dma_pte_clear_level+0x129/0x1a0\n ? prb_fill_curr_block+0x2f/0xc0\n ? skb_copy_bits+0x11a/0x220\n __tcf_classify+0x58/0x110\n tcf_classify_ingress+0x6b/0x140\n __netif_receive_skb_core.constprop.0+0x47d/0xfd0\n ? __iommu_dma_unmap_swiotlb+0x44/0x90\n __netif_receive_skb_one_core+0x3d/0xa0\n netif_receive_skb+0x116/0x170\n be_process_rx+0x22f/0x330 [be2net]\n be_poll+0x13c/0x370 [be2net]\n __napi_poll+0x2a/0x170\n net_rx_action+0x22f/0x2f0\n __do_softirq+0xca/0x2a8\n __irq_exit_rcu+0xc1/0xe0\n common_interrupt+0x83/0xa0"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"3de2a02b60a4ef0ab76263216f08c7d095fc7c42","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"d417a859221f127e8edf09c14b76ab50f825e171","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"1ef0088e43af1de4e3b365218c4d3179d9a37eec","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"2fd90b86dff413fbf8128780c04ea9c6849c16e2","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"d67c900f1947d64ba8a64f693504bcaab8d9000c","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"93940fc4cb81840dc0fa202de48cccb949a0261d","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"46bc359fec0c6d87b70d7a008bcd9a5e30dd6f27","versionType":"git"},{"version":"e314dbdc1c0dc6a548ecf0afce28ecfd538ff568","status":"affected","lessThan":"726e2c5929de841fdcef4e2bf995680688ae1b87","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/veth.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.24","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.24","versionType":"semver"},{"version":"4.9.311","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.276","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.239","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.190","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.112","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.35","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.17.4","status":"unaffected","lessThanOrEqual":"5.17.*","versionType":"semver"},{"version":"5.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/veth.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3de2a02b60a4ef0ab76263216f08c7d095fc7c42"},{"url":"https://git.kernel.org/stable/c/d417a859221f127e8edf09c14b76ab50f825e171"},{"url":"https://git.kernel.org/stable/c/1ef0088e43af1de4e3b365218c4d3179d9a37eec"},{"url":"https://git.kernel.org/stable/c/2fd90b86dff413fbf8128780c04ea9c6849c16e2"},{"url":"https://git.kernel.org/stable/c/d67c900f1947d64ba8a64f693504bcaab8d9000c"},{"url":"https://git.kernel.org/stable/c/93940fc4cb81840dc0fa202de48cccb949a0261d"},{"url":"https://git.kernel.org/stable/c/46bc359fec0c6d87b70d7a008bcd9a5e30dd6f27"},{"url":"https://git.kernel.org/stable/c/726e2c5929de841fdcef4e2bf995680688ae1b87"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T18:52:22.189Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"4.9.311"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"4.14.276"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"4.19.239"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"5.4.190"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"5.10.112"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"5.15.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"5.17.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.24","versionEndExcluding":"5.18"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}