Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2024-27397
HistoryMay 09, 2024 - 4:37 p.m.

CVE-2024-27397 netfilter: nf_tables: use timestamp to check for set element timeout

2024-05-0916:37:22
Linux
github.com
11
linux kernel
nf_tables
timestamp
set element timeout
transaction
control plane
packet path
async gc

AI Score

6.7

Confidence

Low

EPSS

0

Percentile

10.8%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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

netfilter: nf_tables: use timestamp to check for set element timeout

Add a timestamp field at the beginning of the transaction, store it
in the nftables per-netns area.

Update set backend .insert, .deactivate and sync gc path to use the
timestamp, this avoids that an element expires while control plane
transaction is still unfinished.

.lookup and .update, which are used from packet path, still use the
current time to check if the element has expired. And .get path and dump
also since this runs lockless under rcu read size lock. Then, there is
async gc which also needs to check the current time since it runs
asynchronously from a workqueue.

CNA Affected

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "f8dfda798650",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "eaf1a29ea5d7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "7b17de2a71e5",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "0d40e8cb1d1f",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "b45176b86967",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "383182db8d58",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c3e1b005ed1c",
        "lessThan": "7395dfacfff6",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "include/net/netfilter/nf_tables.h",
      "net/netfilter/nf_tables_api.c",
      "net/netfilter/nft_set_hash.c",
      "net/netfilter/nft_set_pipapo.c",
      "net/netfilter/nft_set_rbtree.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.1"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.1",
        "versionType": "custom"
      },
      {
        "status": "unaffected",
        "version": "4.19.320",
        "versionType": "custom",
        "lessThanOrEqual": "4.19.*"
      },
      {
        "status": "unaffected",
        "version": "5.4.282",
        "versionType": "custom",
        "lessThanOrEqual": "5.4.*"
      },
      {
        "status": "unaffected",
        "version": "5.10.224",
        "versionType": "custom",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.165",
        "versionType": "custom",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.97",
        "versionType": "custom",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.7.5",
        "versionType": "custom",
        "lessThanOrEqual": "6.7.*"
      },
      {
        "status": "unaffected",
        "version": "6.8",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "include/net/netfilter/nf_tables.h",
      "net/netfilter/nf_tables_api.c",
      "net/netfilter/nft_set_hash.c",
      "net/netfilter/nft_set_pipapo.c",
      "net/netfilter/nft_set_rbtree.c"
    ],
    "defaultStatus": "affected"
  }
]

AI Score

6.7

Confidence

Low

EPSS

0

Percentile

10.8%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial