« Volver al listado

CVE-2026-23237

Estado: AnalizadaMedia (5.5)—

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

platform/x86: classmate-laptop: Add missing NULL pointer checks

In a few places in the Classmate laptop driver, code using the accel object may run before that object's address is stored in the driver data of the input device using it.

For example, cmpc_accel_sensitivity_store_v4() is the "show" method of cmpc_accel_sensitivity_attr_v4 which is added in cmpc_accel_add_v4(), before calling dev_set_drvdata() for inputdev->dev. If the sysfs attribute is accessed prematurely, the dev_get_drvdata(&inputdev->dev) call in in cmpc_accel_sensitivity_store_v4() returns NULL which leads to a NULL pointer dereference going forward.

Leer descripción completaMostrar menos

Moreover, sysfs attributes using the input device are added before initializing that device by cmpc_add_acpi_notify_device() and if one of them is accessed before running that function, a NULL pointer dereference will occur.

For example, cmpc_accel_sensitivity_attr_v4 is added before calling cmpc_add_acpi_notify_device() and if it is read prematurely, the dev_get_drvdata(&acpi->dev) call in cmpc_accel_sensitivity_show_v4() returns NULL which leads to a NULL pointer dereference going forward.

Fix this by adding NULL pointer checks in all of the relevant places.

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-23237",
  "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": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "993708fc18d0d0919db438361b4e8c1f980a8d1b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "af673209d43b46257540997aba042b90ef3258c0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "eb214804f03c829decf10998e9b7dd26f4c8ab9e",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "9cf4b9b8ad09d6e05307abc4e951cabdff4be652",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "da6e06a5fdbabea3870d18c227734b5dea5b3be6",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "97528b1622b8f129574d29a571c32a3c85eafa3c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "529aa8cb0a59367d08883f818e8c47028e819d0d",
              "lessThan": "fe747d7112283f47169e9c16e751179a9b38611e",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/platform/x86/classmate-laptop.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.33"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "2.6.33",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.10.251",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.201",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.164",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.127",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.74",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.13",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "6.19",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/platform/x86/classmate-laptop.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-03-04T15:16:14.350",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/97528b1622b8f129574d29a571c32a3c85eafa3c",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/993708fc18d0d0919db438361b4e8c1f980a8d1b",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9cf4b9b8ad09d6e05307abc4e951cabdff4be652",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/af673209d43b46257540997aba042b90ef3258c0",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/da6e06a5fdbabea3870d18c227734b5dea5b3be6",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/eb214804f03c829decf10998e9b7dd26f4c8ab9e",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/fe747d7112283f47169e9c16e751179a9b38611e",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "CWE-476"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: classmate-laptop: Add missing NULL pointer checks\n\nIn a few places in the Classmate laptop driver, code using the accel\nobject may run before that object's address is stored in the driver\ndata of the input device using it.\n\nFor example, cmpc_accel_sensitivity_store_v4() is the \"show\" method\nof cmpc_accel_sensitivity_attr_v4 which is added in cmpc_accel_add_v4(),\nbefore calling dev_set_drvdata() for inputdev->dev.  If the sysfs\nattribute is accessed prematurely, the dev_get_drvdata(&inputdev->dev)\ncall in in cmpc_accel_sensitivity_store_v4() returns NULL which\nleads to a NULL pointer dereference going forward.\n\nMoreover, sysfs attributes using the input device are added before\ninitializing that device by cmpc_add_acpi_notify_device() and if one\nof them is accessed before running that function, a NULL pointer\ndereference will occur.\n\nFor example, cmpc_accel_sensitivity_attr_v4 is added before calling\ncmpc_add_acpi_notify_device() and if it is read prematurely, the\ndev_get_drvdata(&acpi->dev) call in cmpc_accel_sensitivity_show_v4()\nreturns NULL which leads to a NULL pointer dereference going forward.\n\nFix this by adding NULL pointer checks in all of the relevant places."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nplatform/x86: classmate-laptop: Añadir comprobaciones de puntero NULL faltantes\n\nEn algunos lugares del controlador del portátil Classmate, el código que utiliza el objeto accel puede ejecutarse antes de que la dirección de ese objeto se almacene en los datos del controlador del dispositivo de entrada que lo utiliza.\n\nPor ejemplo, cmpc_accel_sensitivity_store_v4() es el método 'show' de cmpc_accel_sensitivity_attr_v4 que se añade en cmpc_accel_add_v4(), antes de llamar a dev_set_drvdata() para inputdev->dev. Si el atributo sysfs se accede prematuramente, la llamada a dev_get_drvdata(&inputdev->dev) en cmpc_accel_sensitivity_store_v4() devuelve NULL, lo que lleva a una desreferencia de puntero NULL en adelante.\n\nAdemás, los atributos sysfs que utilizan el dispositivo de entrada se añaden antes de inicializar ese dispositivo por cmpc_add_acpi_notify_device() y si se accede a uno de ellos antes de ejecutar esa función, ocurrirá una desreferencia de puntero NULL.\n\nPor ejemplo, cmpc_accel_sensitivity_attr_v4 se añade antes de llamar a cmpc_add_acpi_notify_device() y si se lee prematuramente, la llamada a dev_get_drvdata(&acpi->dev) en cmpc_accel_sensitivity_show_v4() devuelve NULL, lo que lleva a una desreferencia de puntero NULL en adelante.\n\nSolucionar esto añadiendo comprobaciones de puntero NULL en todos los lugares relevantes."
    }
  ],
  "lastModified": "2026-06-17T10:21:09.703",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "BFD48955-39F7-4B96-818A-4935630C4521",
              "versionEndExcluding": "5.10.251",
              "versionStartIncluding": "2.6.33.1"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "600A89ED-86F2-48D8-BB7C-5EE7A8832FC5",
              "versionEndExcluding": "5.15.201",
              "versionStartIncluding": "5.11"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "6892F74B-3F14-4500-9652-24A2ECB04144",
              "versionEndExcluding": "6.1.164",
              "versionStartIncluding": "5.16"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "4A9F36A3-A685-48A0-84B4-6217052BD058",
              "versionEndExcluding": "6.6.127",
              "versionStartIncluding": "6.2"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "C2968F55-D03F-42BE-A694-F0A37BC8CBE3",
              "versionEndExcluding": "6.12.74",
              "versionStartIncluding": "6.7"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "6BDEF9FB-423E-49F6-991B-9277CC3AF400",
              "versionEndExcluding": "6.18.13",
              "versionStartIncluding": "6.13"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:-:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "EF818826-D9F2-42F9-9638-9609513561A3"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc2:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "207306A0-19F5-4E49-945C-A5E4DD442459"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc3:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "1DE43C00-5967-44A1-ACEB-B7AF66EEBB53"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc4:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "B33B5E4B-FCB3-4343-B992-F0ADB853754B"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc5:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "D7295BBE-A9E3-44F6-9DD6-0FD6C2591E11"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc6:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "B220EA3F-55B3-4B6E-8285-B28ADEF50138"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc7:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "C61AB348-ACF4-4F88-AC9D-BEC63B76399C"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:2.6.33:rc8:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "C3AFD58E-A261-4398-BA11-B62A091261F6"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "17B67AA7-40D6-4AFA-8459-F200F3D7CFD1"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "C47E4CC9-C826-4FA9-B014-7FE3D9B318B2"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "F71D92C0-C023-48BD-B3B6-70B638EEE298"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "13580667-0A98-40CC-B29F-D12790B91BDB"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "CAD1FED7-CF48-47BF-AC7D-7B6FA3C065FC"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "3EF854A1-ABB1-4E93-BE9A-44569EC76C0D"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "F5DC0CA6-F0AF-4DDF-A882-3DADB9A886A7"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "EB5B7DFC-C36B-45D8-922C-877569FDDF43"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}