CVE-2021-47245CWE-125

CVE-2021-47245

High · published May 21, 2024

CVSS v3.1
8.2
EPSS
1%
Percentile
55.6
In the wild
Unconfirmed
What it is

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

netfilter: synproxy: Fix out of bounds when parsing TCP options

The TCP option parser in synproxy (synproxy_parse_options) could read

one byte out of bounds. When the length is 1, the execution flow gets

into the loop, reads one byte of the opcode, and if the opcode is

neither TCPOPT_EOL nor TCPOPT_NOP, it reads one more byte, which exceeds

the length of 1.

This fix is inspired by commit 9609dad263f8 ("ipv4: tcp_input: fix stack

out of bounds when parsing TCP options.").

v2 changes:

Added an early return when length < 0 to avoid calling

skb_header_pointer with negative length.

The record
Technical detail
CVSS v3.1
8.2 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00784 · 55.6th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2024-05-21T19:15Z
Affected products (13)
ProductVersionsFixed in
linux/linux_kernel≥ 3.12, < 4.4.2744.4.274
linux/linux_kernel≥ 4.5, < 4.9.2744.9.274
linux/linux_kernel≥ 4.10, < 4.14.2384.14.238
linux/linux_kernel≥ 4.15, < 4.19.1964.19.196
linux/linux_kernel≥ 4.20, < 5.4.1285.4.128
linux/linux_kernel≥ 5.5, < 5.10.465.10.46
linux/linux_kernel≥ 5.11, < 5.12.135.12.13
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (16)
https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b · af854a3a-2127-422b-91ae-364da2661108
EPSS history
Timeline
  • 21 MAY 14:19Z
    netfilter: synproxy: Fix out of bounds when parsing TCP options
    cvelistv5