← Back to CVE Explorer

CVE-2025-40034

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: PCI/AER: Avoid NULL pointer dereference in aer_ratelimit() When platform firmware supplies error information to the OS, e.g., via the ACPI APEI GHES mechanism, it may identify an error source device that doesn't advertise an AER Capability and therefore dev->aer_info, which contains AER stats and ratelimiting data, is NULL. pci_dev_aer_stats_incr() already checks dev->aer_info for NULL, but aer_ratelimit() did not, leading to NULL pointer dereferences like this one from the URL below: {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 0 {1}[Hardware Error]: event severity: corrected {1}[Hardware Error]: device_id: 0000:00:00.0 {1}[Hardware Error]: vendor_id: 0x8086, device_id: 0x2020 {1}[Hardware Error]: aer_cor_status: 0x00001000, aer_cor_mask: 0x00002000 BUG: kernel NULL pointer dereference, address: 0000000000000264 RIP: 0010:___ratelimit+0xc/0x1b0 pci_print_aer+0x141/0x360 aer_recover_work_func+0xb5/0x130 [8086:2020] is an Intel "Sky Lake-E DMI3 Registers" device that claims to be a Root Port but does not advertise an AER Capability. Add a NULL check in aer_ratelimit() to avoid the NULL pointer dereference. Note that this also prevents ratelimiting these events from GHES. [bhelgaas: add crash details to commit log]

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-10-28 12:15:37.250000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-40034",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-10-28T12:15:37.250",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nPCI/AER: Avoid NULL pointer dereference in aer_ratelimit()\n\nWhen platform firmware supplies error information to the OS, e.g., via the\nACPI APEI GHES mechanism, it may identify an error source device that\ndoesn't advertise an AER Capability and therefore dev->aer_info, which\ncontains AER stats and ratelimiting data, is NULL.\n\npci_dev_aer_stats_incr() already checks dev->aer_info for NULL, but\naer_ratelimit() did not, leading to NULL pointer dereferences like this one\nfrom the URL below:\n\n  {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 0\n  {1}[Hardware Error]: event severity: corrected\n  {1}[Hardware Error]:   device_id: 0000:00:00.0\n  {1}[Hardware Error]:   vendor_id: 0x8086, device_id: 0x2020\n  {1}[Hardware Error]:   aer_cor_status: 0x00001000, aer_cor_mask: 0x00002000\n  BUG: kernel NULL pointer dereference, address: 0000000000000264\n  RIP: 0010:___ratelimit+0xc/0x1b0\n  pci_print_aer+0x141/0x360\n  aer_recover_work_func+0xb5/0x130\n\n[8086:2020] is an Intel \"Sky Lake-E DMI3 Registers\" device that claims to\nbe a Root Port but does not advertise an AER Capability.\n\nAdd a NULL check in aer_ratelimit() to avoid the NULL pointer dereference.\nNote that this also prevents ratelimiting these events from GHES.\n\n[bhelgaas: add crash details to commit log]"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nPCI/AER: Evitar la desreferencia de puntero NULL en aer_ratelimit()\n\nCuando el firmware de la plataforma suministra información de error al SO, por ejemplo, a través del mecanismo ACPI APEI GHES, puede identificar un dispositivo de origen de error que no anuncia una Capacidad AER y, por lo tanto, dev->aer_info, que contiene estadísticas AER y datos de limitación de velocidad, es NULL.\n\npci_dev_aer_stats_incr() ya comprueba dev->aer_info en busca de NULL, pero aer_ratelimit() no lo hacía, lo que lleva a desreferencias de puntero NULL como esta de la URL a continuación:\n\n  {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 0\n  {1}[Hardware Error]: event severity: corrected\n  {1}[Hardware Error]:   device_id: 0000:00:00.0\n  {1}[Hardware Error]:   vendor_id: 0x8086, device_id: 0x2020\n  {1}[Hardware Error]:   aer_cor_status: 0x00001000, aer_cor_mask: 0x00002000\n  BUG: kernel NULL pointer dereference, address: 0000000000000264\n  RIP: 0010:___ratelimit+0xc/0x1b0\n  pci_print_aer+0x141/0x360\n  aer_recover_work_func+0xb5/0x130\n\n[8086:2020] es un dispositivo Intel 'Sky Lake-E DMI3 Registers' que afirma ser un Puerto Raíz pero no anuncia una Capacidad AER.\n\nAñadir una comprobación de NULL en aer_ratelimit() para evitar la desreferencia de puntero NULL. Tenga en cuenta que esto también evita la limitación de velocidad de estos eventos de GHES.\n\n[bhelgaas: añadir detalles del fallo al registro de commit]"
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/pci/pcie/aer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "a57f2bfb4a5863f83087867c0e671f2418212d23",
              "lessThan": "41683624cbff0a26bb7e0627f4a7e1b51a8779a8",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "a57f2bfb4a5863f83087867c0e671f2418212d23",
              "lessThan": "deb2f228388ff3a9d0623e3b59a053e9235c341d",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/pci/pcie/aer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.16",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.16",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.3",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/41683624cbff0a26bb7e0627f4a7e1b51a8779a8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/deb2f228388ff3a9d0623e3b59a053e9235c341d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}