« Volver al listado

CVE-2023-54274

Estado: AplazadaSin puntuar—

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

RDMA/srpt: Add a check for valid 'mad_agent' pointer

When unregistering MAD agent, srpt module has a non-null check for 'mad_agent' pointer before invoking ib_unregister_mad_agent(). This check can pass if 'mad_agent' variable holds an error value. The 'mad_agent' can have an error value for a short window when srpt_add_one() and srpt_remove_one() is executed simultaneously.

In srpt module, added a valid pointer check for 'sport->mad_agent' before unregistering MAD agent.

This issue can hit when RoCE driver unregisters ib_device

Detalles técnicos trazas, registros y código del informe original
Stack Trace:
------------
BUG: kernel NULL pointer dereference, address: 000000000000004d
PGD 145003067 P4D 145003067 PUD 2324fe067 PMD 0
Oops: 0002 [#1] PREEMPT SMP NOPTI
CPU: 10 PID: 4459 Comm: kworker/u80:0 Kdump: loaded Tainted: P
Hardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.5.4 01/13/2020
Workqueue: bnxt_re bnxt_re_task [bnxt_re]
RIP: 0010:_raw_spin_lock_irqsave+0x19/0x40
Call Trace:
  ib_unregister_mad_agent+0x46/0x2f0 [ib_core]
  IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
  ? __schedule+0x20b/0x560
  srpt_unregister_mad_agent+0x93/0xd0 [ib_srpt]
  srpt_remove_one+0x20/0x150 [ib_srpt]
  remove_client_context+0x88/0xd0 [ib_core]
  bond0: (slave p2p1): link status definitely up, 100000 Mbps full duplex
  disable_device+0x8a/0x160 [ib_core]
  bond0: active interface up!
  ? kernfs_name_hash+0x12/0x80
 (NULL device *): Bonding Info Received: rdev: 000000006c0b8247
  __ib_unregister_device+0x42/0xb0 [ib_core]
 (NULL device *):         Master: mode: 4 num_slaves:2
  ib_unregister_device+0x22/0x30 [ib_core]
 (NULL device *):         Slave: id: 105069936 name:p2p1 link:0 state:0
  bnxt_re_stopqps_and_ib_uninit+0x83/0x90 [bnxt_re]
  bnxt_re_alloc_lag+0x12e/0x4e0 [bnxt_re]

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2023-54274",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
              "lessThan": "8ec6acdb9b6a80eeb13e778dfedb5d72a88f14fe",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
              "lessThan": "00cc21e32ea1b8ebbabf5d645da9378d986bf8ba",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
              "lessThan": "4323aaedeba32076e652aad056afd7885bb96bb7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
              "lessThan": "5f6ef2a574b0e0e0ea46ed0022575442df9d0bf9",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
              "lessThan": "b713623bfef8cb1df9c769a3887fa10db63d1c54",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a42d985bd5b234da8b61347a78dc3057bf7bb94d",
              "lessThan": "eca5cd9474cd26d62f9756f536e2e656d3f62f3a",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/infiniband/ulp/srpt/ib_srpt.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.3"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "3.3",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.10.180",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.111",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.28",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.2.15",
              "versionType": "semver",
              "lessThanOrEqual": "6.2.*"
            },
            {
              "status": "unaffected",
              "version": "6.3.2",
              "versionType": "semver",
              "lessThanOrEqual": "6.3.*"
            },
            {
              "status": "unaffected",
              "version": "6.4",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/infiniband/ulp/srpt/ib_srpt.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-12-30T13:16:16.327",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/00cc21e32ea1b8ebbabf5d645da9378d986bf8ba",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4323aaedeba32076e652aad056afd7885bb96bb7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5f6ef2a574b0e0e0ea46ed0022575442df9d0bf9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8ec6acdb9b6a80eeb13e778dfedb5d72a88f14fe",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b713623bfef8cb1df9c769a3887fa10db63d1c54",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/eca5cd9474cd26d62f9756f536e2e656d3f62f3a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Deferred",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/srpt: Add a check for valid 'mad_agent' pointer\n\nWhen unregistering MAD agent, srpt module has a non-null check\nfor 'mad_agent' pointer before invoking ib_unregister_mad_agent().\nThis check can pass if 'mad_agent' variable holds an error value.\nThe 'mad_agent' can have an error value for a short window when\nsrpt_add_one() and srpt_remove_one() is executed simultaneously.\n\nIn srpt module, added a valid pointer check for 'sport->mad_agent'\nbefore unregistering MAD agent.\n\nThis issue can hit when RoCE driver unregisters ib_device\n\nStack Trace:\n------------\nBUG: kernel NULL pointer dereference, address: 000000000000004d\nPGD 145003067 P4D 145003067 PUD 2324fe067 PMD 0\nOops: 0002 [#1] PREEMPT SMP NOPTI\nCPU: 10 PID: 4459 Comm: kworker/u80:0 Kdump: loaded Tainted: P\nHardware name: Dell Inc. PowerEdge R640/06NR82, BIOS 2.5.4 01/13/2020\nWorkqueue: bnxt_re bnxt_re_task [bnxt_re]\nRIP: 0010:_raw_spin_lock_irqsave+0x19/0x40\nCall Trace:\n  ib_unregister_mad_agent+0x46/0x2f0 [ib_core]\n  IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready\n  ? __schedule+0x20b/0x560\n  srpt_unregister_mad_agent+0x93/0xd0 [ib_srpt]\n  srpt_remove_one+0x20/0x150 [ib_srpt]\n  remove_client_context+0x88/0xd0 [ib_core]\n  bond0: (slave p2p1): link status definitely up, 100000 Mbps full duplex\n  disable_device+0x8a/0x160 [ib_core]\n  bond0: active interface up!\n  ? kernfs_name_hash+0x12/0x80\n (NULL device *): Bonding Info Received: rdev: 000000006c0b8247\n  __ib_unregister_device+0x42/0xb0 [ib_core]\n (NULL device *):         Master: mode: 4 num_slaves:2\n  ib_unregister_device+0x22/0x30 [ib_core]\n (NULL device *):         Slave: id: 105069936 name:p2p1 link:0 state:0\n  bnxt_re_stopqps_and_ib_uninit+0x83/0x90 [bnxt_re]\n  bnxt_re_alloc_lag+0x12e/0x4e0 [bnxt_re]"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nRDMA/srpt: Añadir una comprobación para un puntero 'mad_agent' válido\n\nAl anular el registro del agente MAD, el módulo srpt tiene una comprobación de no nulidad para el puntero 'mad_agent' antes de invocar ib_unregister_mad_agent().\nEsta comprobación puede pasar si la variable 'mad_agent' contiene un valor de error.\nEl 'mad_agent' puede tener un valor de error durante una ventana corta cuando srpt_add_one() y srpt_remove_one() se ejecutan simultáneamente.\n\nEn el módulo srpt, se añadió una comprobación de puntero válido para 'sport->mad_agent' antes de anular el registro del agente MAD.\n\nEste problema puede ocurrir cuando el controlador RoCE anula el registro de ib_device\n\nTraza de la pila:\n------------\nBUG: desreferencia de puntero NULL del kernel, dirección: 000000000000004d\nPGD 145003067 P4D 145003067 PUD 2324fe067 PMD 0\nOops: 0002 [#1] PREEMPT SMP NOPTI\nCPU: 10 PID: 4459 Comm: kworker/u80:0 Kdump: loaded Tainted: P\nNombre del hardware: Dell Inc. PowerEdge R640/06NR82, BIOS 2.5.4 01/13/2020\nCola de trabajo: bnxt_re bnxt_re_task [bnxt_re]\nRIP: 0010:_raw_spin_lock_irqsave+0x19/0x40\nTraza de llamada:\n  ib_unregister_mad_agent+0x46/0x2f0 [ib_core]\n  IPv6: ADDRCONF(NETDEV_CHANGE): bond0: el enlace está listo\n  ? __schedule+0x20b/0x560\n  srpt_unregister_mad_agent+0x93/0xd0 [ib_srpt]\n  srpt_remove_one+0x20/0x150 [ib_srpt]\n  remove_client_context+0x88/0xd0 [ib_core]\n  bond0: (esclavo p2p1): estado del enlace definitivamente activo, 100000 Mbps full duplex\n  disable_device+0x8a/0x160 [ib_core]\n  bond0: ¡interfaz activa levantada!\n  ? kernfs_name_hash+0x12/0x80\n (dispositivo NULL *): Información de Bonding Recibida: rdev: 000000006c0b8247\n  __ib_unregister_device+0x42/0xb0 [ib_core]\n (dispositivo NULL *):         Maestro: modo: 4 num_slaves:2\n  ib_unregister_device+0x22/0x30 [ib_core]\n (dispositivo NULL *):         Esclavo: id: 105069936 nombre:p2p1 enlace:0 estado:0\n  bnxt_re_stopqps_and_ib_uninit+0x83/0x90 [bnxt_re]\n  bnxt_re_alloc_lag+0x12e/0x4e0 [bnxt_re]"
    }
  ],
  "lastModified": "2026-06-17T06:47:08.293",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}