Lucene search

K
cveLinuxCVE-2024-43835
HistoryAug 17, 2024 - 10:15 a.m.

CVE-2024-43835

2024-08-1710:15:09
Linux
web.nvd.nist.gov
26
linux kernel
virtio_net
vulnerability
virtio
netpoll
napi context
cve-2024-43835

AI Score

6.5

Confidence

High

EPSS

0

Percentile

13.8%

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

virtio_net: Fix napi_skb_cache_put warning

After the commit bdacf3e34945 (“net: Use nested-BH locking for
napi_alloc_cache.”) was merged, the following warning began to appear:

 WARNING: CPU: 5 PID: 1 at net/core/skbuff.c:1451 napi_skb_cache_put+0x82/0x4b0

  __warn+0x12f/0x340
  napi_skb_cache_put+0x82/0x4b0
  napi_skb_cache_put+0x82/0x4b0
  report_bug+0x165/0x370
  handle_bug+0x3d/0x80
  exc_invalid_op+0x1a/0x50
  asm_exc_invalid_op+0x1a/0x20
  __free_old_xmit+0x1c8/0x510
  napi_skb_cache_put+0x82/0x4b0
  __free_old_xmit+0x1c8/0x510
  __free_old_xmit+0x1c8/0x510
  __pfx___free_old_xmit+0x10/0x10

The issue arises because virtio is assuming it’s running in NAPI context
even when it’s not, such as in the netpoll case.

To resolve this, modify virtnet_poll_tx() to only set NAPI when budget
is available. Same for virtnet_poll_cleantx(), which always assumed that
it was in a NAPI context.

Affected configurations

Vulners
Node
linuxlinux_kernelRange5.04.19.322
OR
linuxlinux_kernelRange4.20.05.4.284
OR
linuxlinux_kernelRange5.5.05.10.226
OR
linuxlinux_kernelRange5.11.05.15.167
OR
linuxlinux_kernelRange5.16.06.1.109
OR
linuxlinux_kernelRange6.2.06.6.50
OR
linuxlinux_kernelRange6.7.06.10.3
OR
linuxlinux_kernelRange6.11.0
VendorProductVersionCPE
linuxlinux_kernel*cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/virtio_net.c"
    ],
    "versions": [
      {
        "version": "df133f3f9625",
        "lessThan": "19ac6f29bf64",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "d3af435e8ace",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "842a97b5e44f",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "cc7340f18e45",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "6b5325f24575",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "f5e9a22d19bb",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "468a729b7889",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "df133f3f9625",
        "lessThan": "f8321fa75102",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/virtio_net.c"
    ],
    "versions": [
      {
        "version": "5.0",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.0",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "4.19.322",
        "lessThanOrEqual": "4.19.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.4.284",
        "lessThanOrEqual": "5.4.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.10.226",
        "lessThanOrEqual": "5.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.15.167",
        "lessThanOrEqual": "5.15.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.1.109",
        "lessThanOrEqual": "6.1.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.50",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10.3",
        "lessThanOrEqual": "6.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.11",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

AI Score

6.5

Confidence

High

EPSS

0

Percentile

13.8%