CVE-2021-47245

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

State
Published
Severity
8.2 High
Published
May 21, 2024
Updated
Aug 5, 2026
Reserved
Apr 10, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.18.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before e1eb98cfeafdd85537e7e3cefe93ca9bfbcc3ea8Affected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before 576c1526b4d83c44ad7b673cb841f36cbc6cb6c4Affected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before 674b5f0c6a4fc5d3abce877048290cea6091fcb1Affected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before 7d9a9a1a88a3da574e019b4de756bc73337b3b0bAffected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before 6defc77d48eff74075b80ad5925061b2fc010d98Affected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before 9cdf299ba4e153b5e56187648420de22c6216f02Affected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before f648089337cb8ed40b2bb96e244f72b9d97dc96bAffected
  • 48b1de4c110a7afa4b85862f6c75af817db26fad to before 5fc177ab759418c9537433e63301096e733fb915Affected
LinuxLinux
  • 3.12Affected
  • before 3.12Not affected
  • 4.4.274 through 4.4.*Not affected
  • 4.9.274 through 4.9.*Not affected
  • 4.14.238 through 4.14.*Not affected
  • 4.19.196 through 4.19.*Not affected
  • 5.4.128 through 5.4.*Not affected
  • 5.10.46 through 5.10.*Not affected
  • 5.12.13 through 5.12.*Not affected
  • 5.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.