CVE-2026-90295 (GCVE-0-2026-90295)

Vulnerability from cvelistv5 – Published: 2026-09-17 16:08 – Updated: 2026-09-17 16:08
VLAI
Title
cpufreq: imx6q: fix out-of-bounds write when probed more than once
Summary
In the Linux kernel, the following vulnerability has been resolved: cpufreq: imx6q: fix out-of-bounds write when probed more than once imx6_soc_volt is allocated fresh on every probe, sized to the number of ARM OPPs: imx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt), GFP_KERNEL); but it is filled through soc_opp_count, which has static storage and is never reset. A second bind after an unbind keeps indexing from where the first one stopped, and writes past the end of the new array. Unbinding and rebinding the driver on qemu's mcimx6ul-evk, under KASAN: BUG: KASAN: slab-out-of-bounds in imx6q_cpufreq_probe+0x3b0/0xa34 Write of size 4 at addr c5e90480 by task binder/73 imx6q_cpufreq_probe from platform_probe+0x88/0xe4 platform_probe from really_probe+0x108/0x384 bind_store from kernfs_fop_write_iter+0x1b4/0x28c The write lands one u32 past the end of the allocation. soc_opp_count is only read a few lines below the loop that fills it, so it never needed static storage. Make it a local.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < 263a35331169390f7f9ccb51d74e668610199af4 (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < 49f2f9b1d0cc76cf221306fc707703205bd27073 (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < c5135bc34ea37e9d19f758e61ac44415afb3891a (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < 55864b26c22cbd4b2e0d36154a8c35931c2e133b (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < b166bb79b7ef36b4f1d6d1f40d1a72b2eb0a56b9 (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < aaa66e60c0e21d19993a95bc3718dc29eb2d3192 (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < 55516986a3d81325c84f2d4ae9cd03116bc63599 (git)
Affected: b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 , < 8c3afcf27fa4582c1ab912503dc8a4ebb8dc0f82 (git)
guessed Create a notification for this product.
Linux Linux Affected: 3.14
Unaffected: 0 , < 3.14 (semver)
Unaffected: 5.10.270 , ≤ 5.10.* (semver)
Unaffected: 5.15.221 , ≤ 5.15.* (semver)
Unaffected: 6.1.188 , ≤ 6.1.* (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.52 , ≤ 6.18.* (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/cpufreq/imx6q-cpufreq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "263a35331169390f7f9ccb51d74e668610199af4",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "49f2f9b1d0cc76cf221306fc707703205bd27073",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "c5135bc34ea37e9d19f758e61ac44415afb3891a",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "55864b26c22cbd4b2e0d36154a8c35931c2e133b",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "b166bb79b7ef36b4f1d6d1f40d1a72b2eb0a56b9",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "aaa66e60c0e21d19993a95bc3718dc29eb2d3192",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "55516986a3d81325c84f2d4ae9cd03116bc63599",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            },
            {
              "lessThan": "8c3afcf27fa4582c1ab912503dc8a4ebb8dc0f82",
              "status": "affected",
              "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/cpufreq/imx6q-cpufreq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.14"
            },
            {
              "lessThan": "3.14",
              "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-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.270",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: imx6q: fix out-of-bounds write when probed more than once\n\nimx6_soc_volt is allocated fresh on every probe, sized to the number of\nARM OPPs:\n\n\timx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt),\n\t\t\t\t     GFP_KERNEL);\n\nbut it is filled through soc_opp_count, which has static storage and is\nnever reset. A second bind after an unbind keeps indexing from where the\nfirst one stopped, and writes past the end of the new array.\n\nUnbinding and rebinding the driver on qemu\u0027s mcimx6ul-evk, under KASAN:\n\n  BUG: KASAN: slab-out-of-bounds in imx6q_cpufreq_probe+0x3b0/0xa34\n  Write of size 4 at addr c5e90480 by task binder/73\n   imx6q_cpufreq_probe from platform_probe+0x88/0xe4\n   platform_probe from really_probe+0x108/0x384\n   bind_store from kernfs_fop_write_iter+0x1b4/0x28c\n\nThe write lands one u32 past the end of the allocation.\n\nsoc_opp_count is only read a few lines below the loop that fills it, so it\nnever needed static storage. Make it a local."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-17T16:08:21.295Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/263a35331169390f7f9ccb51d74e668610199af4"
        },
        {
          "url": "https://git.kernel.org/stable/c/49f2f9b1d0cc76cf221306fc707703205bd27073"
        },
        {
          "url": "https://git.kernel.org/stable/c/c5135bc34ea37e9d19f758e61ac44415afb3891a"
        },
        {
          "url": "https://git.kernel.org/stable/c/55864b26c22cbd4b2e0d36154a8c35931c2e133b"
        },
        {
          "url": "https://git.kernel.org/stable/c/b166bb79b7ef36b4f1d6d1f40d1a72b2eb0a56b9"
        },
        {
          "url": "https://git.kernel.org/stable/c/aaa66e60c0e21d19993a95bc3718dc29eb2d3192"
        },
        {
          "url": "https://git.kernel.org/stable/c/55516986a3d81325c84f2d4ae9cd03116bc63599"
        },
        {
          "url": "https://git.kernel.org/stable/c/8c3afcf27fa4582c1ab912503dc8a4ebb8dc0f82"
        }
      ],
      "title": "cpufreq: imx6q: fix out-of-bounds write when probed more than once",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-90295",
    "datePublished": "2026-09-17T16:08:21.295Z",
    "dateReserved": "2026-09-11T19:38:34.799Z",
    "dateUpdated": "2026-09-17T16:08:21.295Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-90295",
      "date": "2026-09-25",
      "epss": "0.00211",
      "percentile": "0.10098"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-24T01:27:37.000Z",
      "cve": "CVE-2026-90295",
      "id": "msrc_CVE-2026-90295",
      "initial_release_date": "2026-09-19T01:09:38.000Z",
      "product_status:fixed": "1",
      "product_status:known_affected": "2",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "cpufreq: imx6q: fix out-of-bounds write when probed more than once",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-90295.json",
      "version": "4"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/cpufreq/imx6q-cpufreq.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "263a35331169390f7f9ccb51d74e668610199af4",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "49f2f9b1d0cc76cf221306fc707703205bd27073",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c5135bc34ea37e9d19f758e61ac44415afb3891a",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "55864b26c22cbd4b2e0d36154a8c35931c2e133b",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b166bb79b7ef36b4f1d6d1f40d1a72b2eb0a56b9",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "aaa66e60c0e21d19993a95bc3718dc29eb2d3192",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "55516986a3d81325c84f2d4ae9cd03116bc63599",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8c3afcf27fa4582c1ab912503dc8a4ebb8dc0f82",
                    "status": "affected",
                    "version": "b4573d1d657aae28bedf3a9a1f5367e09c80d1d6",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/cpufreq/imx6q-cpufreq.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "3.14"
                  },
                  {
                    "lessThan": "3.14",
                    "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-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: imx6q: fix out-of-bounds write when probed more than once\n\nimx6_soc_volt is allocated fresh on every probe, sized to the number of\nARM OPPs:\n\n\timx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt),\n\t\t\t\t     GFP_KERNEL);\n\nbut it is filled through soc_opp_count, which has static storage and is\nnever reset. A second bind after an unbind keeps indexing from where the\nfirst one stopped, and writes past the end of the new array.\n\nUnbinding and rebinding the driver on qemu\u0027s mcimx6ul-evk, under KASAN:\n\n  BUG: KASAN: slab-out-of-bounds in imx6q_cpufreq_probe+0x3b0/0xa34\n  Write of size 4 at addr c5e90480 by task binder/73\n   imx6q_cpufreq_probe from platform_probe+0x88/0xe4\n   platform_probe from really_probe+0x108/0x384\n   bind_store from kernfs_fop_write_iter+0x1b4/0x28c\n\nThe write lands one u32 past the end of the allocation.\n\nsoc_opp_count is only read a few lines below the loop that fills it, so it\nnever needed static storage. Make it a local."
          }
        ],
        "id": "CVE-2026-90295",
        "lastModified": "2026-09-17T17:17:26.853",
        "metrics": {},
        "published": "2026-09-17T17:17:26.853",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/263a35331169390f7f9ccb51d74e668610199af4"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/49f2f9b1d0cc76cf221306fc707703205bd27073"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/55516986a3d81325c84f2d4ae9cd03116bc63599"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/55864b26c22cbd4b2e0d36154a8c35931c2e133b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/8c3afcf27fa4582c1ab912503dc8a4ebb8dc0f82"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/aaa66e60c0e21d19993a95bc3718dc29eb2d3192"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b166bb79b7ef36b4f1d6d1f40d1a72b2eb0a56b9"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c5135bc34ea37e9d19f758e61ac44415afb3891a"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…