CVE-2026-92504 (GCVE-0-2026-92504)
Vulnerability from cvelistv5
Published
2026-09-17 16:10
Modified
2026-10-19 09:04
Summary
In the Linux kernel, the following vulnerability has been resolved: thermal: intel: int3400: clean up ODVP on probe failures evaluate_odvp() creates per-ODVP sysfs files before the thermal zone and later probe resources are registered. The current unwind path only calls cleanup_odvp() from the late sysfs failure path, so failures after evaluate_odvp() but before that label, including thermal_tripless_zone_device_register() failures, leave the ODVP files and storage behind. Move the ODVP cleanup to the common ART/TRT unwind path so every failure after evaluate_odvp() releases the ODVP state. Also clear the cached ODVP pointers in cleanup_odvp(), because evaluate_odvp() can already call it for partial setup failures while probe continues.
Impacted products
Vendor Product Version
Linux Linux Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Version: 006f006f1e5c48e5ddd6515eab2c9a7b27ce1144
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/thermal/intel/int340x_thermal/int3400_thermal.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "5798c714fccf1b4939a98a812b9073da365172c8",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "bfd6df12ce6781e4bf1c7177dab42a8780177960",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "ad13e550ce51c66560bafd315eb5d09f2ee7c4ce",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "08df725b927512fa9672b146a00766da478b6c2e",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "bc0e96267a6715fcc4b81cf980034a5e65703780",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "d7b025d3fdf3cf8b726ce1d13f434f57477972bb",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "169772cd2147c517be5cfda2710d17f8c90d6f10",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            },
            {
              "lessThan": "d83dc9ce57a746a6dca28439bcc0575d26fa6986",
              "status": "affected",
              "version": "006f006f1e5c48e5ddd6515eab2c9a7b27ce1144",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/thermal/intel/int340x_thermal/int3400_thermal.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.8"
            },
            {
              "lessThan": "5.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.270",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nthermal: intel: int3400: clean up ODVP on probe failures\n\nevaluate_odvp() creates per-ODVP sysfs files before the thermal zone\nand later probe resources are registered. The current unwind path only\ncalls cleanup_odvp() from the late sysfs failure path, so failures after\nevaluate_odvp() but before that label, including\nthermal_tripless_zone_device_register() failures, leave the ODVP files\nand storage behind.\n\nMove the ODVP cleanup to the common ART/TRT unwind path so every failure\nafter evaluate_odvp() releases the ODVP state. Also clear the cached\nODVP pointers in cleanup_odvp(), because evaluate_odvp() can already call\nit for partial setup failures while probe continues."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - evaluate_odvp() in int3400_thermal_probe() creates odvpN attributes on the INT3400/INTC104x ACPI platform device; after a failed unwind the UAF is hit by reading those files in odvp_show(), not by a network or radio protocol payload.\nAC:H - The leak runs only when int3400_thermal_probe() fails after evaluate_odvp() but before the old free_sysfs label (thermal_tripless_zone_device_register(), sysfs_create_group() for uuids/imok, or device_create_bin_file()), or when evaluate_odvp() itself fails after allocating attrs; those are -ENOMEM/kernfs errors the attacker cannot force.\nPR:L - evaluate_odvp() creates each odvpN with mode 0444 on priv-\u003epdev-\u003edev.kobj; after probe kfree(priv) via free_art_trt without cleanup_odvp(), an unprivileged local user can open those leftover files and run odvp_show() with no CAP_SYS_ADMIN.\nUI:N - The attacker reads the leftover odvpN sysfs attributes themselves; no other user must mount media, bind int3400_thermal, or confirm a prompt.\nS:U - odvp_show() dereferences the probe-freed int3400_thermal_priv in the host kernel; this is not a VM, IOMMU, or sandbox escape.\nC:H - odvp_show() evaluates odvp_attr-\u003epriv-\u003eodvp[odvp_attr-\u003eodvp] after int3400_thermal_probe() kfree(priv) on free_art_trt, a slab UAF of int3400_thermal_priv that discloses kernel memory once that object is reclaimed.\nI:H - cleanup_odvp() used to leave priv-\u003eodvp/priv-\u003eodvp_attrs set after evaluate_odvp()\u0027s out_err path; a later evaluate_odvp() from int3400_thermal_change_mode() or INT3400_ODVP_CHANGED then writes ACPI integers through the freed odvp buffer, and remove-path cleanup_odvp() double-frees it.\nA:H - odvp_show() dereferencing the freed priv, and evaluate_odvp() writing through a dangling priv-\u003eodvp, oops or panic the kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:04:10.385Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/5798c714fccf1b4939a98a812b9073da365172c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/bfd6df12ce6781e4bf1c7177dab42a8780177960"
        },
        {
          "url": "https://git.kernel.org/stable/c/ad13e550ce51c66560bafd315eb5d09f2ee7c4ce"
        },
        {
          "url": "https://git.kernel.org/stable/c/08df725b927512fa9672b146a00766da478b6c2e"
        },
        {
          "url": "https://git.kernel.org/stable/c/bc0e96267a6715fcc4b81cf980034a5e65703780"
        },
        {
          "url": "https://git.kernel.org/stable/c/d7b025d3fdf3cf8b726ce1d13f434f57477972bb"
        },
        {
          "url": "https://git.kernel.org/stable/c/169772cd2147c517be5cfda2710d17f8c90d6f10"
        },
        {
          "url": "https://git.kernel.org/stable/c/d83dc9ce57a746a6dca28439bcc0575d26fa6986"
        }
      ],
      "title": "thermal: intel: int3400: clean up ODVP on probe failures",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-92504",
    "datePublished": "2026-09-17T16:10:16.731Z",
    "dateReserved": "2026-09-16T12:21:13.872Z",
    "dateUpdated": "2026-10-19T09:04:10.385Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…