Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2021-47223
HistoryMay 21, 2024 - 2:19 p.m.

CVE-2021-47223 net: bridge: fix vlan tunnel dst null pointer dereference

2024-05-2114:19:28
Linux
github.com
7
linux kernel
bridge
vlan tunnel
null pointer
egress path
lockless access
patch
rcu
tunnel_dst
tunnel_id

AI Score

6.8

Confidence

Low

EPSS

0

Percentile

10.3%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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

net: bridge: fix vlan tunnel dst null pointer dereference

This patch fixes a tunnel_dst null pointer dereference due to lockless
access in the tunnel egress path. When deleting a vlan tunnel the
tunnel_dst pointer is set to NULL without waiting a grace period (i.e.
while it’s still usable) and packets egressing are dereferencing it
without checking. Use READ/WRITE_ONCE to annotate the lockless use of
tunnel_id, use RCU for accessing tunnel_dst and make sure it is read
only once and checked in the egress path. The dst is already properly RCU
protected so we don’t need to do anything fancy than to make sure
tunnel_id and tunnel_dst are read only once and checked in the egress path.

CNA Affected

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "11538d039ac6",
        "lessThan": "ad7feefe7164",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "11538d039ac6",
        "lessThan": "24a6e55f17aa",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "11538d039ac6",
        "lessThan": "a2241e62f6b4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "11538d039ac6",
        "lessThan": "fe0448a3fad3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "11538d039ac6",
        "lessThan": "abb02e05cb1c",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "11538d039ac6",
        "lessThan": "58e2071742e3",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "net/bridge/br_private.h",
      "net/bridge/br_vlan_tunnel.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.11"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.11",
        "versionType": "custom"
      },
      {
        "status": "unaffected",
        "version": "4.14.238",
        "versionType": "custom",
        "lessThanOrEqual": "4.14.*"
      },
      {
        "status": "unaffected",
        "version": "4.19.196",
        "versionType": "custom",
        "lessThanOrEqual": "4.19.*"
      },
      {
        "status": "unaffected",
        "version": "5.4.128",
        "versionType": "custom",
        "lessThanOrEqual": "5.4.*"
      },
      {
        "status": "unaffected",
        "version": "5.10.46",
        "versionType": "custom",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.12.13",
        "versionType": "custom",
        "lessThanOrEqual": "5.12.*"
      },
      {
        "status": "unaffected",
        "version": "5.13",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "net/bridge/br_private.h",
      "net/bridge/br_vlan_tunnel.c"
    ],
    "defaultStatus": "affected"
  }
]

AI Score

6.8

Confidence

Low

EPSS

0

Percentile

10.3%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial