Vulnerability Details CVE-2022-49340
In the Linux kernel, the following vulnerability has been resolved:
ip_gre: test csum_start instead of transport header
GRE with TUNNEL_CSUM will apply local checksum offload on
CHECKSUM_PARTIAL packets.
ipgre_xmit must validate csum_start after an optional skb_pull,
else lco_csum may trigger an overflow. The original check was
if (csum && skb_checksum_start(skb) < skb->data)
return -EINVAL;
This had false positives when skb_checksum_start is undefined:
when ip_summed is not CHECKSUM_PARTIAL. A discussed refinement
was straightforward
if (csum && skb->ip_summed == CHECKSUM_PARTIAL &&
skb_checksum_start(skb) < skb->data)
return -EINVAL;
But was eventually revised more thoroughly:
- restrict the check to the only branch where needed, in an
uncommon GRE path that uses header_ops and calls skb_pull.
- test skb_transport_header, which is set along with csum_start
in skb_partial_csum_set in the normal header_ops datapath.
Turns out skbs can arrive in this branch without the transport
header set, e.g., through BPF redirection.
Revise the check back to check csum_start directly, and only if
CHECKSUM_PARTIAL. Do leave the check in the updated location.
Check field regardless of whether TUNNEL_CSUM is configured.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 10.1%
CVSS Severity
CVSS v3 Score 5.5
Products affected by CVE-2022-49340
-
cpe:2.3:o:linux:linux_kernel:4.19.207
-
cpe:2.3:o:linux:linux_kernel:4.19.208
-
cpe:2.3:o:linux:linux_kernel:4.19.209
-
cpe:2.3:o:linux:linux_kernel:4.19.210
-
cpe:2.3:o:linux:linux_kernel:4.19.211
-
cpe:2.3:o:linux:linux_kernel:4.19.212
-
cpe:2.3:o:linux:linux_kernel:4.19.213
-
cpe:2.3:o:linux:linux_kernel:4.19.214
-
cpe:2.3:o:linux:linux_kernel:4.19.215
-
cpe:2.3:o:linux:linux_kernel:4.19.216
-
cpe:2.3:o:linux:linux_kernel:4.19.217
-
cpe:2.3:o:linux:linux_kernel:4.19.218
-
cpe:2.3:o:linux:linux_kernel:4.19.219
-
cpe:2.3:o:linux:linux_kernel:4.19.220
-
cpe:2.3:o:linux:linux_kernel:4.19.221
-
cpe:2.3:o:linux:linux_kernel:4.19.222
-
cpe:2.3:o:linux:linux_kernel:4.19.223
-
cpe:2.3:o:linux:linux_kernel:4.19.224
-
cpe:2.3:o:linux:linux_kernel:4.19.225
-
cpe:2.3:o:linux:linux_kernel:4.19.226
-
cpe:2.3:o:linux:linux_kernel:4.19.227
-
cpe:2.3:o:linux:linux_kernel:4.19.228
-
cpe:2.3:o:linux:linux_kernel:4.19.229
-
cpe:2.3:o:linux:linux_kernel:4.19.230
-
cpe:2.3:o:linux:linux_kernel:4.19.231
-
cpe:2.3:o:linux:linux_kernel:4.19.232
-
cpe:2.3:o:linux:linux_kernel:4.19.233
-
cpe:2.3:o:linux:linux_kernel:4.19.234
-
cpe:2.3:o:linux:linux_kernel:4.19.235
-
cpe:2.3:o:linux:linux_kernel:4.19.236
-
cpe:2.3:o:linux:linux_kernel:4.19.237
-
cpe:2.3:o:linux:linux_kernel:4.19.238
-
cpe:2.3:o:linux:linux_kernel:4.19.239
-
cpe:2.3:o:linux:linux_kernel:4.19.240
-
cpe:2.3:o:linux:linux_kernel:4.19.241
-
cpe:2.3:o:linux:linux_kernel:4.19.242
-
cpe:2.3:o:linux:linux_kernel:4.19.243
-
cpe:2.3:o:linux:linux_kernel:4.19.244
-
cpe:2.3:o:linux:linux_kernel:4.19.245
-
cpe:2.3:o:linux:linux_kernel:4.19.246
-
cpe:2.3:o:linux:linux_kernel:5.10.100
-
cpe:2.3:o:linux:linux_kernel:5.10.101
-
cpe:2.3:o:linux:linux_kernel:5.10.102
-
cpe:2.3:o:linux:linux_kernel:5.10.103
-
cpe:2.3:o:linux:linux_kernel:5.10.104
-
cpe:2.3:o:linux:linux_kernel:5.10.105
-
cpe:2.3:o:linux:linux_kernel:5.10.106
-
cpe:2.3:o:linux:linux_kernel:5.10.107
-
cpe:2.3:o:linux:linux_kernel:5.10.108
-
cpe:2.3:o:linux:linux_kernel:5.10.109
-
cpe:2.3:o:linux:linux_kernel:5.10.110
-
cpe:2.3:o:linux:linux_kernel:5.10.111
-
cpe:2.3:o:linux:linux_kernel:5.10.112
-
cpe:2.3:o:linux:linux_kernel:5.10.113
-
cpe:2.3:o:linux:linux_kernel:5.10.114
-
cpe:2.3:o:linux:linux_kernel:5.10.115
-
cpe:2.3:o:linux:linux_kernel:5.10.116
-
cpe:2.3:o:linux:linux_kernel:5.10.117
-
cpe:2.3:o:linux:linux_kernel:5.10.118
-
cpe:2.3:o:linux:linux_kernel:5.10.119
-
cpe:2.3:o:linux:linux_kernel:5.10.120
-
cpe:2.3:o:linux:linux_kernel:5.10.121
-
cpe:2.3:o:linux:linux_kernel:5.10.68
-
cpe:2.3:o:linux:linux_kernel:5.10.69
-
cpe:2.3:o:linux:linux_kernel:5.10.70
-
cpe:2.3:o:linux:linux_kernel:5.10.71
-
cpe:2.3:o:linux:linux_kernel:5.10.72
-
cpe:2.3:o:linux:linux_kernel:5.10.73
-
cpe:2.3:o:linux:linux_kernel:5.10.74
-
cpe:2.3:o:linux:linux_kernel:5.10.75
-
cpe:2.3:o:linux:linux_kernel:5.10.76
-
cpe:2.3:o:linux:linux_kernel:5.10.77
-
cpe:2.3:o:linux:linux_kernel:5.10.78
-
cpe:2.3:o:linux:linux_kernel:5.10.79
-
cpe:2.3:o:linux:linux_kernel:5.10.80
-
cpe:2.3:o:linux:linux_kernel:5.10.81
-
cpe:2.3:o:linux:linux_kernel:5.10.82
-
cpe:2.3:o:linux:linux_kernel:5.10.83
-
cpe:2.3:o:linux:linux_kernel:5.10.84
-
cpe:2.3:o:linux:linux_kernel:5.10.85
-
cpe:2.3:o:linux:linux_kernel:5.10.86
-
cpe:2.3:o:linux:linux_kernel:5.10.87
-
cpe:2.3:o:linux:linux_kernel:5.10.88
-
cpe:2.3:o:linux:linux_kernel:5.10.89
-
cpe:2.3:o:linux:linux_kernel:5.10.90
-
cpe:2.3:o:linux:linux_kernel:5.10.91
-
cpe:2.3:o:linux:linux_kernel:5.10.92
-
cpe:2.3:o:linux:linux_kernel:5.10.93
-
cpe:2.3:o:linux:linux_kernel:5.10.94
-
cpe:2.3:o:linux:linux_kernel:5.10.95
-
cpe:2.3:o:linux:linux_kernel:5.10.96
-
cpe:2.3:o:linux:linux_kernel:5.10.97
-
cpe:2.3:o:linux:linux_kernel:5.10.98
-
cpe:2.3:o:linux:linux_kernel:5.10.99
-
cpe:2.3:o:linux:linux_kernel:5.14.10
-
cpe:2.3:o:linux:linux_kernel:5.14.11
-
cpe:2.3:o:linux:linux_kernel:5.14.12
-
cpe:2.3:o:linux:linux_kernel:5.14.13
-
cpe:2.3:o:linux:linux_kernel:5.14.14
-
cpe:2.3:o:linux:linux_kernel:5.14.15
-
cpe:2.3:o:linux:linux_kernel:5.14.16
-
cpe:2.3:o:linux:linux_kernel:5.14.17
-
cpe:2.3:o:linux:linux_kernel:5.14.18
-
cpe:2.3:o:linux:linux_kernel:5.14.19
-
cpe:2.3:o:linux:linux_kernel:5.14.20
-
cpe:2.3:o:linux:linux_kernel:5.14.21
-
cpe:2.3:o:linux:linux_kernel:5.14.7
-
cpe:2.3:o:linux:linux_kernel:5.14.8
-
cpe:2.3:o:linux:linux_kernel:5.14.9
-
cpe:2.3:o:linux:linux_kernel:5.15
-
cpe:2.3:o:linux:linux_kernel:5.15.0
-
cpe:2.3:o:linux:linux_kernel:5.15.0-58
-
cpe:2.3:o:linux:linux_kernel:5.15.1
-
cpe:2.3:o:linux:linux_kernel:5.15.10
-
cpe:2.3:o:linux:linux_kernel:5.15.11
-
cpe:2.3:o:linux:linux_kernel:5.15.12
-
cpe:2.3:o:linux:linux_kernel:5.15.13
-
cpe:2.3:o:linux:linux_kernel:5.15.14
-
cpe:2.3:o:linux:linux_kernel:5.15.15
-
cpe:2.3:o:linux:linux_kernel:5.15.16
-
cpe:2.3:o:linux:linux_kernel:5.15.17
-
cpe:2.3:o:linux:linux_kernel:5.15.18
-
cpe:2.3:o:linux:linux_kernel:5.15.19
-
cpe:2.3:o:linux:linux_kernel:5.15.2
-
cpe:2.3:o:linux:linux_kernel:5.15.20
-
cpe:2.3:o:linux:linux_kernel:5.15.21
-
cpe:2.3:o:linux:linux_kernel:5.15.22
-
cpe:2.3:o:linux:linux_kernel:5.15.23
-
cpe:2.3:o:linux:linux_kernel:5.15.24
-
cpe:2.3:o:linux:linux_kernel:5.15.25
-
cpe:2.3:o:linux:linux_kernel:5.15.26
-
cpe:2.3:o:linux:linux_kernel:5.15.27
-
cpe:2.3:o:linux:linux_kernel:5.15.28
-
cpe:2.3:o:linux:linux_kernel:5.15.29
-
cpe:2.3:o:linux:linux_kernel:5.15.3
-
cpe:2.3:o:linux:linux_kernel:5.15.30
-
cpe:2.3:o:linux:linux_kernel:5.15.31
-
cpe:2.3:o:linux:linux_kernel:5.15.32
-
cpe:2.3:o:linux:linux_kernel:5.15.33
-
cpe:2.3:o:linux:linux_kernel:5.15.34
-
cpe:2.3:o:linux:linux_kernel:5.15.35
-
cpe:2.3:o:linux:linux_kernel:5.15.36
-
cpe:2.3:o:linux:linux_kernel:5.15.37
-
cpe:2.3:o:linux:linux_kernel:5.15.38
-
cpe:2.3:o:linux:linux_kernel:5.15.39
-
cpe:2.3:o:linux:linux_kernel:5.15.4
-
cpe:2.3:o:linux:linux_kernel:5.15.40
-
cpe:2.3:o:linux:linux_kernel:5.15.41
-
cpe:2.3:o:linux:linux_kernel:5.15.42
-
cpe:2.3:o:linux:linux_kernel:5.15.43
-
cpe:2.3:o:linux:linux_kernel:5.15.44
-
cpe:2.3:o:linux:linux_kernel:5.15.45
-
cpe:2.3:o:linux:linux_kernel:5.15.46
-
cpe:2.3:o:linux:linux_kernel:5.15.5
-
cpe:2.3:o:linux:linux_kernel:5.15.6
-
cpe:2.3:o:linux:linux_kernel:5.15.7
-
cpe:2.3:o:linux:linux_kernel:5.15.8
-
cpe:2.3:o:linux:linux_kernel:5.15.9
-
cpe:2.3:o:linux:linux_kernel:5.16
-
cpe:2.3:o:linux:linux_kernel:5.16.0
-
cpe:2.3:o:linux:linux_kernel:5.16.1
-
cpe:2.3:o:linux:linux_kernel:5.16.10
-
cpe:2.3:o:linux:linux_kernel:5.16.11
-
cpe:2.3:o:linux:linux_kernel:5.16.12
-
cpe:2.3:o:linux:linux_kernel:5.16.13
-
cpe:2.3:o:linux:linux_kernel:5.16.14
-
cpe:2.3:o:linux:linux_kernel:5.16.15
-
cpe:2.3:o:linux:linux_kernel:5.16.16
-
cpe:2.3:o:linux:linux_kernel:5.16.17
-
cpe:2.3:o:linux:linux_kernel:5.16.18
-
cpe:2.3:o:linux:linux_kernel:5.16.19
-
cpe:2.3:o:linux:linux_kernel:5.16.2
-
cpe:2.3:o:linux:linux_kernel:5.16.20
-
cpe:2.3:o:linux:linux_kernel:5.16.3
-
cpe:2.3:o:linux:linux_kernel:5.16.4
-
cpe:2.3:o:linux:linux_kernel:5.16.5
-
cpe:2.3:o:linux:linux_kernel:5.16.6
-
cpe:2.3:o:linux:linux_kernel:5.16.62
-
cpe:2.3:o:linux:linux_kernel:5.16.7
-
cpe:2.3:o:linux:linux_kernel:5.16.8
-
cpe:2.3:o:linux:linux_kernel:5.16.9
-
cpe:2.3:o:linux:linux_kernel:5.17
-
cpe:2.3:o:linux:linux_kernel:5.17.1
-
cpe:2.3:o:linux:linux_kernel:5.17.10
-
cpe:2.3:o:linux:linux_kernel:5.17.11
-
cpe:2.3:o:linux:linux_kernel:5.17.12
-
cpe:2.3:o:linux:linux_kernel:5.17.13
-
cpe:2.3:o:linux:linux_kernel:5.17.14
-
cpe:2.3:o:linux:linux_kernel:5.17.2
-
cpe:2.3:o:linux:linux_kernel:5.17.3
-
cpe:2.3:o:linux:linux_kernel:5.17.4
-
cpe:2.3:o:linux:linux_kernel:5.17.5
-
cpe:2.3:o:linux:linux_kernel:5.17.6
-
cpe:2.3:o:linux:linux_kernel:5.17.7
-
cpe:2.3:o:linux:linux_kernel:5.17.8
-
cpe:2.3:o:linux:linux_kernel:5.17.9
-
cpe:2.3:o:linux:linux_kernel:5.18
-
cpe:2.3:o:linux:linux_kernel:5.18.1
-
cpe:2.3:o:linux:linux_kernel:5.18.2
-
cpe:2.3:o:linux:linux_kernel:5.18.3
-
cpe:2.3:o:linux:linux_kernel:5.19
-
cpe:2.3:o:linux:linux_kernel:5.4.148
-
cpe:2.3:o:linux:linux_kernel:5.4.149
-
cpe:2.3:o:linux:linux_kernel:5.4.150
-
cpe:2.3:o:linux:linux_kernel:5.4.151
-
cpe:2.3:o:linux:linux_kernel:5.4.152
-
cpe:2.3:o:linux:linux_kernel:5.4.153
-
cpe:2.3:o:linux:linux_kernel:5.4.154
-
cpe:2.3:o:linux:linux_kernel:5.4.155
-
cpe:2.3:o:linux:linux_kernel:5.4.156
-
cpe:2.3:o:linux:linux_kernel:5.4.157
-
cpe:2.3:o:linux:linux_kernel:5.4.158
-
cpe:2.3:o:linux:linux_kernel:5.4.159
-
cpe:2.3:o:linux:linux_kernel:5.4.160
-
cpe:2.3:o:linux:linux_kernel:5.4.161
-
cpe:2.3:o:linux:linux_kernel:5.4.162
-
cpe:2.3:o:linux:linux_kernel:5.4.163
-
cpe:2.3:o:linux:linux_kernel:5.4.164
-
cpe:2.3:o:linux:linux_kernel:5.4.165
-
cpe:2.3:o:linux:linux_kernel:5.4.166
-
cpe:2.3:o:linux:linux_kernel:5.4.167
-
cpe:2.3:o:linux:linux_kernel:5.4.168
-
cpe:2.3:o:linux:linux_kernel:5.4.169
-
cpe:2.3:o:linux:linux_kernel:5.4.170
-
cpe:2.3:o:linux:linux_kernel:5.4.171
-
cpe:2.3:o:linux:linux_kernel:5.4.172
-
cpe:2.3:o:linux:linux_kernel:5.4.173
-
cpe:2.3:o:linux:linux_kernel:5.4.174
-
cpe:2.3:o:linux:linux_kernel:5.4.175
-
cpe:2.3:o:linux:linux_kernel:5.4.176
-
cpe:2.3:o:linux:linux_kernel:5.4.177
-
cpe:2.3:o:linux:linux_kernel:5.4.178
-
cpe:2.3:o:linux:linux_kernel:5.4.179
-
cpe:2.3:o:linux:linux_kernel:5.4.180
-
cpe:2.3:o:linux:linux_kernel:5.4.181
-
cpe:2.3:o:linux:linux_kernel:5.4.182
-
cpe:2.3:o:linux:linux_kernel:5.4.183
-
cpe:2.3:o:linux:linux_kernel:5.4.184
-
cpe:2.3:o:linux:linux_kernel:5.4.185
-
cpe:2.3:o:linux:linux_kernel:5.4.186
-
cpe:2.3:o:linux:linux_kernel:5.4.187
-
cpe:2.3:o:linux:linux_kernel:5.4.188
-
cpe:2.3:o:linux:linux_kernel:5.4.189
-
cpe:2.3:o:linux:linux_kernel:5.4.190
-
cpe:2.3:o:linux:linux_kernel:5.4.191
-
cpe:2.3:o:linux:linux_kernel:5.4.192
-
cpe:2.3:o:linux:linux_kernel:5.4.193
-
cpe:2.3:o:linux:linux_kernel:5.4.194
-
cpe:2.3:o:linux:linux_kernel:5.4.195
-
cpe:2.3:o:linux:linux_kernel:5.4.196
-
cpe:2.3:o:linux:linux_kernel:5.4.197