Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2024-26587
HistoryFeb 22, 2024 - 4:13 p.m.

CVE-2024-26587 net: netdevsim: don't try to destroy PHC on VFs

2024-02-2216:13:32
Linux
github.com
5
linux kernel
netdevsim
vulnerability
fix
crash
null pointer
dereference
address
bug
test

AI Score

6.6

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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

net: netdevsim: don’t try to destroy PHC on VFs

PHC gets initialized in nsim_init_netdevsim(), which
is only called if (nsim_dev_port_is_pf()).

Create a counterpart of nsim_init_netdevsim() and
move the mock_phc_destroy() there.

This fixes a crash trying to destroy netdevsim with
VFs instantiated, as caught by running the devlink.sh test:

BUG: kernel NULL pointer dereference, address: 00000000000000b8
RIP: 0010:mock_phc_destroy+0xd/0x30
Call Trace:
 <TASK>
 nsim_destroy+0x4a/0x70 [netdevsim]
 __nsim_dev_port_del+0x47/0x70 [netdevsim]
 nsim_dev_reload_destroy+0x105/0x120 [netdevsim]
 nsim_drv_remove+0x2f/0xb0 [netdevsim]
 device_release_driver_internal+0x1a1/0x210
 bus_remove_device+0xd5/0x120
 device_del+0x159/0x490
 device_unregister+0x12/0x30
 del_device_store+0x11a/0x1a0 [netdevsim]
 kernfs_fop_write_iter+0x130/0x1d0
 vfs_write+0x30b/0x4b0
 ksys_write+0x69/0xf0
 do_syscall_64+0xcc/0x1e0
 entry_SYSCALL_64_after_hwframe+0x6f/0x77

CNA Affected

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "b63e78fca889",
        "lessThan": "08aca65997fb",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b63e78fca889",
        "lessThan": "c5068e442eed",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b63e78fca889",
        "lessThan": "ea937f772083",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/net/netdevsim/netdev.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.6"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.6",
        "versionType": "custom"
      },
      {
        "status": "unaffected",
        "version": "6.6.14",
        "versionType": "custom",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.7.2",
        "versionType": "custom",
        "lessThanOrEqual": "6.7.*"
      },
      {
        "status": "unaffected",
        "version": "6.8",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/net/netdevsim/netdev.c"
    ],
    "defaultStatus": "affected"
  }
]

AI Score

6.6

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial