CVE-2026-89936 (GCVE-0-2026-89936)
Vulnerability from cvelistv5
Published
2026-09-16 10:32
Modified
2026-10-19 08:55
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: iio: dac: m62332: Fix regulator reference count imbalance m62332_set_value() enables the Vcc regulator on every write of a non-zero value and disables it on every write of zero, without tracking the channel's current state. Because the regulator is reference counted, changing a channel directly from one non-zero value to another enables it more than once, while a later write of zero disables it only once. The reference count never returns to zero and the regulator is left enabled indefinitely. Only enable the regulator on the transition from zero to non-zero, and only disable it on the transition from non-zero to zero, using the previously stored channel value to detect the edge. Balance the regulator on the I2C error path so the reference count stays consistent if the write fails.
Impacted products
Vendor Product Version
Linux Linux Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Version: b87b0c0f81e8d11c881b726b886b7502ab67d884
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/iio/dac/m62332.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "bac0ed8bee651aa841375edf72c6ab1d10ac80c6",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "9263b9ad968a563337a60e0eb66e35186e1faf9a",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "1d3a7d7dd3adee19e00be2b2237140f0fe169484",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "f5acb824277a97a5210c454872202bf7f08c75d4",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "ae18d2d2ef27a4d04fda6e30c23774513dc9be1e",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "08ac8d2976d57aa943d64e351c4d0bd8bb0c6de9",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "9fe22f563b2a0fdb11fd3711a8c39c023629c08a",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            },
            {
              "lessThan": "a130404ce0b69ca1438126bd81c1985d3b4d2e6f",
              "status": "affected",
              "version": "b87b0c0f81e8d11c881b726b886b7502ab67d884",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/iio/dac/m62332.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.2"
            },
            {
              "lessThan": "4.2",
              "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.51",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.5",
              "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": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.51",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.5",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niio: dac: m62332: Fix regulator reference count imbalance\n\nm62332_set_value() enables the Vcc regulator on every write of a\nnon-zero value and disables it on every write of zero, without tracking\nthe channel\u0027s current state. Because the regulator is reference counted,\nchanging a channel directly from one non-zero value to another enables\nit more than once, while a later write of zero disables it only once.\nThe reference count never returns to zero and the regulator is left\nenabled indefinitely.\n\nOnly enable the regulator on the transition from zero to non-zero, and\nonly disable it on the transition from non-zero to zero, using the\npreviously stored channel value to detect the edge. Balance the\nregulator on the I2C error path so the reference count stays consistent\nif the write fails."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T08:55:10.788Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/bac0ed8bee651aa841375edf72c6ab1d10ac80c6"
        },
        {
          "url": "https://git.kernel.org/stable/c/9263b9ad968a563337a60e0eb66e35186e1faf9a"
        },
        {
          "url": "https://git.kernel.org/stable/c/1d3a7d7dd3adee19e00be2b2237140f0fe169484"
        },
        {
          "url": "https://git.kernel.org/stable/c/f5acb824277a97a5210c454872202bf7f08c75d4"
        },
        {
          "url": "https://git.kernel.org/stable/c/ae18d2d2ef27a4d04fda6e30c23774513dc9be1e"
        },
        {
          "url": "https://git.kernel.org/stable/c/08ac8d2976d57aa943d64e351c4d0bd8bb0c6de9"
        },
        {
          "url": "https://git.kernel.org/stable/c/9fe22f563b2a0fdb11fd3711a8c39c023629c08a"
        },
        {
          "url": "https://git.kernel.org/stable/c/a130404ce0b69ca1438126bd81c1985d3b4d2e6f"
        }
      ],
      "title": "iio: dac: m62332: Fix regulator reference count imbalance",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89936",
    "datePublished": "2026-09-16T10:32:25.608Z",
    "dateReserved": "2026-09-11T19:38:34.776Z",
    "dateUpdated": "2026-10-19T08:55:10.788Z",
    "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…