In the Linux kernel, the following vulnerability has been resolved:
erspan: do not use skbmacheader() in ndostartxmit()
Drivers should not assume skbmacheader(skb) == skb->data in their ndostartxmit().
Use skbnetworkoffset() and skbtransportoffset() which better describe what is needed in erspanfbxmit() and ip6erspantunnelxmit()
syzbot reported: WARNING: CPU: 0 PID: 5083 at include/linux/skbuff.h:2873 skbmacheader include/linux/skbuff.h:2873 [inline] WARNING: CPU: 0 PID: 5083 at include/linux/skbuff.h:2873 ip6erspantunnelxmit+0x1d9c/0x2d90 net/ipv6/ip6gre.c:962 Modules linked in: CPU: 0 PID: 5083 Comm: syz-executor406 Not tainted 6.3.0-rc2-syzkaller-00866-gd4671cb96fa3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023 RIP: 0010:skbmacheader include/linux/skbuff.h:2873 [inline] RIP: 0010:ip6erspantunnelxmit+0x1d9c/0x2d90 net/ipv6/ip6gre.c:962 Code: 04 02 41 01 de 84 c0 74 08 3c 03 0f 8e 1c 0a 00 00 45 89 b4 24 c8 00 00 00 c6 85 77 fe ff ff 01 e9 33 e7 ff ff e8 b4 27 a1 f8 <0f> 0b e9 b6 e7 ff ff e8 a8 27 a1 f8 49 8d bf f0 0c 00 00 48 b8 00 RSP: 0018:ffffc90003b2f830 EFLAGS: 00010293 RAX: 0000000000000000 RBX: 000000000000ffff RCX: 0000000000000000 RDX: ffff888021273a80 RSI: ffffffff88e1bd4c RDI: 0000000000000003 RBP: ffffc90003b2f9d8 R08: 0000000000000003 R09: 000000000000ffff R10: 000000000000ffff R11: 0000000000000000 R12: ffff88802b28da00 R13: 00000000000000d0 R14: ffff88807e25b6d0 R15: ffff888023408000 FS: 0000555556a61300(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055e5b11eb6e8 CR3: 0000000027c1b000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> _netdevstartxmit include/linux/netdevice.h:4900 [inline] netdevstartxmit include/linux/netdevice.h:4914 [inline] _devdirectxmit+0x504/0x730 net/core/dev.c:4300 devdirectxmit include/linux/netdevice.h:3088 [inline] packetxmit+0x20a/0x390 net/packet/afpacket.c:285 packetsnd net/packet/afpacket.c:3075 [inline] packetsendmsg+0x31a0/0x5150 net/packet/afpacket.c:3107 socksendmsgnosec net/socket.c:724 [inline] socksendmsg+0xde/0x190 net/socket.c:747 _syssendto+0x23a/0x340 net/socket.c:2142 _dosyssendto net/socket.c:2154 [inline] _sesyssendto net/socket.c:2150 [inline] _x64syssendto+0xe1/0x1b0 net/socket.c:2150 dosyscallx64 arch/x86/entry/common.c:50 [inline] dosyscall64+0x39/0xb0 arch/x86/entry/common.c:80 entrySYSCALL64afterhwframe+0x63/0xcd RIP: 0033:0x7f123aaa1039 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 14 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffc15d12058 EFLAGS: 00000246 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f123aaa1039 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 0000000000000000 R08: 0000000020000040 R09: 0000000000000014 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f123aa648c0 R13: 431bde82d7b634db R14: 0000000000000000 R15: 0000000000000000
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53053.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53053.json"
[
{
"id": "CVE-2023-53053-0b20a87b",
"digest": {
"length": 1909.0,
"function_hash": "28252946324035605695552537556314932856"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c7d6803689c99d55bbb862260d0ba486ff23c0b",
"deprecated": false
},
{
"id": "CVE-2023-53053-161cdcb6",
"digest": {
"length": 3865.0,
"function_hash": "140193145000949050010460792379287304141"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d4172732f0ee1639a361a6cc5c3114bbb397386",
"deprecated": false
},
{
"id": "CVE-2023-53053-24820ca4",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b72f453e886af532bde1fd049a2d2421999630d3",
"deprecated": false
},
{
"id": "CVE-2023-53053-2f40527f",
"digest": {
"length": 3826.0,
"function_hash": "29165199301289380965806298357636860890"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da149daf821a3c05cd04f7c60776c86c5ee9685c",
"deprecated": false
},
{
"id": "CVE-2023-53053-30f3305b",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d4172732f0ee1639a361a6cc5c3114bbb397386",
"deprecated": false
},
{
"id": "CVE-2023-53053-3948512d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b72f453e886af532bde1fd049a2d2421999630d3",
"deprecated": false
},
{
"id": "CVE-2023-53053-3be0d327",
"digest": {
"length": 1897.0,
"function_hash": "86245422507234314798283747660157416381"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b72f453e886af532bde1fd049a2d2421999630d3",
"deprecated": false
},
{
"id": "CVE-2023-53053-4251f532",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e50ed774554f93d55426039b27b1e38d7fa64d8",
"deprecated": false
},
{
"id": "CVE-2023-53053-6779de2f",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b41f37dbd9cdb60000e3b0dfad6df787591c2265",
"deprecated": false
},
{
"id": "CVE-2023-53053-69b738c2",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8cec30541f5c5cc218e9a32138d45d227727f2f",
"deprecated": false
},
{
"id": "CVE-2023-53053-768ff9dd",
"digest": {
"length": 3887.0,
"function_hash": "128379298185259904214913078128767113783"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8cec30541f5c5cc218e9a32138d45d227727f2f",
"deprecated": false
},
{
"id": "CVE-2023-53053-7d7ea844",
"digest": {
"length": 2120.0,
"function_hash": "274880935619807606353688941254531303392"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da149daf821a3c05cd04f7c60776c86c5ee9685c",
"deprecated": false
},
{
"id": "CVE-2023-53053-854aaacc",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8cec30541f5c5cc218e9a32138d45d227727f2f",
"deprecated": false
},
{
"id": "CVE-2023-53053-8b13aa8f",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e50ed774554f93d55426039b27b1e38d7fa64d8",
"deprecated": false
},
{
"id": "CVE-2023-53053-9e0adc00",
"digest": {
"length": 1910.0,
"function_hash": "291591601025995892948741316746227699622"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d4172732f0ee1639a361a6cc5c3114bbb397386",
"deprecated": false
},
{
"id": "CVE-2023-53053-9ee441d3",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da149daf821a3c05cd04f7c60776c86c5ee9685c",
"deprecated": false
},
{
"id": "CVE-2023-53053-9f83af0a",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da149daf821a3c05cd04f7c60776c86c5ee9685c",
"deprecated": false
},
{
"id": "CVE-2023-53053-ab86e9ae",
"digest": {
"length": 3887.0,
"function_hash": "128379298185259904214913078128767113783"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c7d6803689c99d55bbb862260d0ba486ff23c0b",
"deprecated": false
},
{
"id": "CVE-2023-53053-b8628ee1",
"digest": {
"length": 3865.0,
"function_hash": "140193145000949050010460792379287304141"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e50ed774554f93d55426039b27b1e38d7fa64d8",
"deprecated": false
},
{
"id": "CVE-2023-53053-cf3ff9a8",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c7d6803689c99d55bbb862260d0ba486ff23c0b",
"deprecated": false
},
{
"id": "CVE-2023-53053-cf7a6d25",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c7d6803689c99d55bbb862260d0ba486ff23c0b",
"deprecated": false
},
{
"id": "CVE-2023-53053-d95db7ef",
"digest": {
"length": 3872.0,
"function_hash": "315987739250367915551010834744748634595"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b72f453e886af532bde1fd049a2d2421999630d3",
"deprecated": false
},
{
"id": "CVE-2023-53053-e2bb61cb",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv4/ip_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d4172732f0ee1639a361a6cc5c3114bbb397386",
"deprecated": false
},
{
"id": "CVE-2023-53053-e2f6471e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"334875873621487255072935180906078874591",
"318413434324912715586693934299273649727",
"316570588076278698230319361211628251968",
"233179643029978173671605705032360750735",
"142384537962178503596547145353452572205",
"162190019122473435399182448490279991432",
"304887517566570988681304007913055268784",
"288926827409554289975663293905499143478"
]
},
"signature_type": "Line",
"target": {
"file": "net/ipv6/ip6_gre.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b41f37dbd9cdb60000e3b0dfad6df787591c2265",
"deprecated": false
},
{
"id": "CVE-2023-53053-e48c0ac4",
"digest": {
"length": 1910.0,
"function_hash": "291591601025995892948741316746227699622"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e50ed774554f93d55426039b27b1e38d7fa64d8",
"deprecated": false
},
{
"id": "CVE-2023-53053-ec7891a9",
"digest": {
"length": 1909.0,
"function_hash": "28252946324035605695552537556314932856"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8cec30541f5c5cc218e9a32138d45d227727f2f",
"deprecated": false
},
{
"id": "CVE-2023-53053-fc2b61d0",
"digest": {
"length": 3887.0,
"function_hash": "128379298185259904214913078128767113783"
},
"signature_type": "Function",
"target": {
"file": "net/ipv6/ip6_gre.c",
"function": "ip6erspan_tunnel_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b41f37dbd9cdb60000e3b0dfad6df787591c2265",
"deprecated": false
},
{
"id": "CVE-2023-53053-ff9b2304",
"digest": {
"length": 1909.0,
"function_hash": "28252946324035605695552537556314932856"
},
"signature_type": "Function",
"target": {
"file": "net/ipv4/ip_gre.c",
"function": "erspan_fb_xmit"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b41f37dbd9cdb60000e3b0dfad6df787591c2265",
"deprecated": false
}
]