[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024052143-CVE-2021-47245-13d9@gregkh>
Date: Tue, 21 May 2024 16:19:59 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2021-47245: netfilter: synproxy: Fix out of bounds when parsing TCP options
Description
===========
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 Linux kernel CVE team has assigned CVE-2021-47245 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 4.4.274 with commit e1eb98cfeafd
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 4.9.274 with commit 576c1526b4d8
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 4.14.238 with commit 674b5f0c6a4f
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 4.19.196 with commit 7d9a9a1a88a3
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 5.4.128 with commit 6defc77d48ef
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 5.10.46 with commit 9cdf299ba4e1
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 5.12.13 with commit f648089337cb
Issue introduced in 3.12 with commit 48b1de4c110a and fixed in 5.13 with commit 5fc177ab7594
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2021-47245
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/netfilter/nf_synproxy_core.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8
https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4
https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1
https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b
https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98
https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02
https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b
https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915
Powered by blists - more mailing lists