CVE-2021-47245
Linux Netfilter Synproxy TCP Option Parsing Out-of-Bounds Read Vulnerability
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.
INFO
Published Date :
May 21, 2024, 3:15 p.m.
Last Modified :
Dec. 30, 2024, 7:03 p.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
5.2
Exploitability Score :
1.8
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2021-47245
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2021-47245
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-47245
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Dec. 30, 2024
Action Type Old Value New Value Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H Added CWE NIST CWE-125 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 3.12 up to (excluding) 4.4.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.5 up to (excluding) 4.9.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.10 up to (excluding) 4.14.238 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.15 up to (excluding) 4.19.196 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 up to (excluding) 5.4.128 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 up to (excluding) 5.10.46 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.12.13 *cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc6:*:*:*:*:*:* Changed Reference Type https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 No Types Assigned https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 Patch Changed Reference Type https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 No Types Assigned https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 Patch Changed Reference Type https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 No Types Assigned https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 Patch Changed Reference Type https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 No Types Assigned https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 Patch Changed Reference Type https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 No Types Assigned https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 Patch Changed Reference Type https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 No Types Assigned https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 Patch Changed Reference Type https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 No Types Assigned https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 Patch Changed Reference Type https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 No Types Assigned https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 Patch Changed Reference Type https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b No Types Assigned https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b Patch Changed Reference Type https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b No Types Assigned https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b Patch Changed Reference Type https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 No Types Assigned https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 Patch Changed Reference Type https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 No Types Assigned https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 Patch Changed Reference Type https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 No Types Assigned https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 Patch Changed Reference Type https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 No Types Assigned https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 Patch Changed Reference Type https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b No Types Assigned https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b Patch Changed Reference Type https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b No Types Assigned https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b Patch -
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 Added Reference https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 Added Reference https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 Added Reference https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 Added Reference https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b Added Reference https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 Added Reference https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 Added Reference https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 28, 2024
Action Type Old Value New Value -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 21, 2024
Action Type Old Value New Value Added 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. Added Reference kernel.org https://git.kernel.org/stable/c/e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/576c1526b4d83c44ad7b673cb841f36cbc6cb6c4 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/674b5f0c6a4fc5d3abce877048290cea6091fcb1 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/7d9a9a1a88a3da574e019b4de756bc73337b3b0b [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/6defc77d48eff74075b80ad5925061b2fc010d98 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/9cdf299ba4e153b5e56187648420de22c6216f02 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/f648089337cb8ed40b2bb96e244f72b9d97dc96b [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/5fc177ab759418c9537433e63301096e733fb915 [No types assigned]
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2021-47245
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2021-47245
weaknesses.