« Volver al listado

CVE-2026-45977

Estado: AnalizadaMedia (5.5)—

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

fbnic: close fw_log race between users and teardown

Fixes a theoretical race on fw_log between the teardown path and fw_log write functions.

fw_log is written inside fbnic_fw_log_write() and can be reached from the mailbox handler fbnic_fw_msix_intr(), but fw_log is freed before IRQ/MBX teardown during cleanup, resulting in a potential data race of dereferencing a freed/null variable.

The initialization also has an incorrect order problem, as the fw_log is currently allocated after MBX setup during initialization. Fix the problems by adjusting the synchronization order to put initialization in place before the mailbox is enabled, and not cleared until after the mailbox has been disabled.

Detalles técnicos trazas, registros y código del informe original
Possible Interleaving Scenario:
  CPU0: fbnic_fw_msix_intr() // Entry
          fbnic_fw_log_write()
            if (fbnic_fw_log_ready())   // true
            ... preempt ...
  CPU1: fbnic_remove() // Entry
          fbnic_fw_log_free()
            vfree(log->data_start);
            log->data_start = NULL;
  CPU0: continues, walks log->entries or writes to log->data_start

CVSS

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)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-45977",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "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": "ecc53b1b46c892d2e3cf3cf4393b6d219dc4ae3f",
              "lessThan": "223cfef4812bdfa5ac5c1aa761cdba03cfe2c9cd",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ecc53b1b46c892d2e3cf3cf4393b6d219dc4ae3f",
              "lessThan": "5f10ab3643c58a22fbaee92c4701b00fcb4a465d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ecc53b1b46c892d2e3cf3cf4393b6d219dc4ae3f",
              "lessThan": "ee5492fd88cfc079c19fbeac78e9e53b7f6c04f3",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/meta/fbnic/fbnic_fw_log.c",
            "drivers/net/ethernet/meta/fbnic/fbnic_pci.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.17"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.17",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.18.14",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "6.19.4",
              "versionType": "semver",
              "lessThanOrEqual": "6.19.*"
            },
            {
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/meta/fbnic/fbnic_fw_log.c",
            "drivers/net/ethernet/meta/fbnic/fbnic_pci.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-05-27T14:17:14.800",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/223cfef4812bdfa5ac5c1aa761cdba03cfe2c9cd",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5f10ab3643c58a22fbaee92c4701b00fcb4a465d",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ee5492fd88cfc079c19fbeac78e9e53b7f6c04f3",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "NVD-CWE-noinfo"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfbnic: close fw_log race between users and teardown\n\nFixes a theoretical race on fw_log between the teardown path and fw_log\nwrite functions.\n\nfw_log is written inside fbnic_fw_log_write() and can be reached from\nthe mailbox handler fbnic_fw_msix_intr(), but fw_log is freed before\nIRQ/MBX teardown during cleanup, resulting in a potential data race of\ndereferencing a freed/null variable.\n\nPossible Interleaving Scenario:\n  CPU0: fbnic_fw_msix_intr() // Entry\n          fbnic_fw_log_write()\n            if (fbnic_fw_log_ready())   // true\n            ... preempt ...\n  CPU1: fbnic_remove() // Entry\n          fbnic_fw_log_free()\n            vfree(log->data_start);\n            log->data_start = NULL;\n  CPU0: continues, walks log->entries or writes to log->data_start\n\nThe initialization also has an incorrect order problem, as the fw_log\nis currently allocated after MBX setup during initialization.\nFix the problems by adjusting the synchronization order to put\ninitialization in place before the mailbox is enabled, and not cleared\nuntil after the mailbox has been disabled."
    }
  ],
  "lastModified": "2026-06-17T10:52:50.050",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "26EE06AD-A558-4B3A-9C7C-9EBD5CF65449",
              "versionEndExcluding": "6.18.14",
              "versionStartIncluding": "6.17"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "672A3E79-EC03-479D-8503-361DFBDC8092",
              "versionEndExcluding": "6.19.4",
              "versionStartIncluding": "6.19"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}