CVE-2026-64495 (GCVE-0-2026-64495)

Vulnerability from cvelistv5 – Published: 2026-07-25 08:51 – Updated: 2026-08-17 04:56
VLAI
Title
iio: gyro: bmg160: bail out when bandwidth/filter is not in table
Summary
In the Linux kernel, the following vulnerability has been resolved: iio: gyro: bmg160: bail out when bandwidth/filter is not in table bmg160_get_filter() walks bmg160_samp_freq_table[] looking for the entry matching the bw_bits value read from the chip: for (i = 0; i < ARRAY_SIZE(bmg160_samp_freq_table); ++i) { if (bmg160_samp_freq_table[i].bw_bits == bw_bits) break; } *val = bmg160_samp_freq_table[i].filter; If no entry matches, i ends up equal to the array size and the next line reads one slot past the end. bmg160_set_filter() has the same shape, driven by 'val' instead of bw_bits. smatch flags both: drivers/iio/gyro/bmg160_core.c:204 bmg160_get_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 drivers/iio/gyro/bmg160_core.c:222 bmg160_set_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 Return -EINVAL when no entry matches. The set_filter() path is reachable from userspace via the sysfs in_anglvel_filter_low_pass_3db_frequency interface, so userspace can trivially trigger the out-of-bounds read with a value that is not in bmg160_samp_freq_table[].filter.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 1dc3a833be11e5d503038e3c701745fd0e03903c (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 77e56ebb1786f4296afd5fa46975a989b285ae65 (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 029481cddb98697716f4bf3021d035eaf2ca0e1f (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 8d202515baea4e2e3be448d1590099af28f2346d (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < d85ee50f58dd83fe74f6d0bf8bd345c657b216e8 (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 7bbf02b63961fc1768c9c654392c11f2077d4c59 (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 6c8675468862161d1c59130266852b66867d3861 (git)
Affected: 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc , < 8320c77e67382d5d55d77043a5f60a867d408a2b (git)
guessed Create a notification for this product.
Linux Linux Affected: 3.18
Unaffected: 0 , < 3.18 (semver)
Unaffected: 5.10.261 , ≤ 5.10.* (semver)
Unaffected: 5.15.212 , ≤ 5.15.* (semver)
Unaffected: 6.1.178 , ≤ 6.1.* (semver)
Unaffected: 6.6.145 , ≤ 6.6.* (semver)
Unaffected: 6.12.96 , ≤ 6.12.* (semver)
Unaffected: 6.18.39 , ≤ 6.18.* (semver)
Unaffected: 7.1.4 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (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/iio/gyro/bmg160_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1dc3a833be11e5d503038e3c701745fd0e03903c",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "77e56ebb1786f4296afd5fa46975a989b285ae65",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "029481cddb98697716f4bf3021d035eaf2ca0e1f",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "8d202515baea4e2e3be448d1590099af28f2346d",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "d85ee50f58dd83fe74f6d0bf8bd345c657b216e8",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "7bbf02b63961fc1768c9c654392c11f2077d4c59",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "6c8675468862161d1c59130266852b66867d3861",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            },
            {
              "lessThan": "8320c77e67382d5d55d77043a5f60a867d408a2b",
              "status": "affected",
              "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/iio/gyro/bmg160_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.18"
            },
            {
              "lessThan": "3.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.261",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.96",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.39",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.261",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.96",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.39",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.4",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "3.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niio: gyro: bmg160: bail out when bandwidth/filter is not in table\n\nbmg160_get_filter() walks bmg160_samp_freq_table[] looking for the entry\nmatching the bw_bits value read from the chip:\n\n\tfor (i = 0; i \u003c ARRAY_SIZE(bmg160_samp_freq_table); ++i) {\n\t\tif (bmg160_samp_freq_table[i].bw_bits == bw_bits)\n\t\t\tbreak;\n\t}\n\t*val = bmg160_samp_freq_table[i].filter;\n\nIf no entry matches, i ends up equal to the array size and the next line\nreads one slot past the end. bmg160_set_filter() has the same shape, driven\nby \u0027val\u0027 instead of bw_bits.\n\nsmatch flags both:\n\n  drivers/iio/gyro/bmg160_core.c:204 bmg160_get_filter() error:\n  buffer overflow \u0027bmg160_samp_freq_table\u0027 7 \u003c= 7\n  drivers/iio/gyro/bmg160_core.c:222 bmg160_set_filter() error:\n  buffer overflow \u0027bmg160_samp_freq_table\u0027 7 \u003c= 7\n\nReturn -EINVAL when no entry matches.\n\nThe set_filter() path is reachable from userspace via the sysfs\nin_anglvel_filter_low_pass_3db_frequency interface, so userspace can\ntrivially trigger the out-of-bounds read with a value that is not in\nbmg160_samp_freq_table[].filter."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T04:56:43.712Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1dc3a833be11e5d503038e3c701745fd0e03903c"
        },
        {
          "url": "https://git.kernel.org/stable/c/77e56ebb1786f4296afd5fa46975a989b285ae65"
        },
        {
          "url": "https://git.kernel.org/stable/c/029481cddb98697716f4bf3021d035eaf2ca0e1f"
        },
        {
          "url": "https://git.kernel.org/stable/c/8d202515baea4e2e3be448d1590099af28f2346d"
        },
        {
          "url": "https://git.kernel.org/stable/c/d85ee50f58dd83fe74f6d0bf8bd345c657b216e8"
        },
        {
          "url": "https://git.kernel.org/stable/c/7bbf02b63961fc1768c9c654392c11f2077d4c59"
        },
        {
          "url": "https://git.kernel.org/stable/c/6c8675468862161d1c59130266852b66867d3861"
        },
        {
          "url": "https://git.kernel.org/stable/c/8320c77e67382d5d55d77043a5f60a867d408a2b"
        }
      ],
      "title": "iio: gyro: bmg160: bail out when bandwidth/filter is not in table",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64495",
    "datePublished": "2026-07-25T08:51:52.468Z",
    "dateReserved": "2026-07-19T15:36:31.792Z",
    "dateUpdated": "2026-08-17T04:56:43.712Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64495",
      "date": "2026-09-22",
      "epss": "0.00195",
      "percentile": "0.0949"
    },
    "microsoft_vex": {
      "current_release_date": "2026-07-27T14:48:17.000Z",
      "cve": "CVE-2026-64495",
      "id": "msrc_CVE-2026-64495",
      "initial_release_date": "2026-07-26T01:06:05.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "iio: gyro: bmg160: bail out when bandwidth/filter is not in table",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-64495.json",
      "version": "2"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iio/gyro/bmg160_core.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "1dc3a833be11e5d503038e3c701745fd0e03903c",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "77e56ebb1786f4296afd5fa46975a989b285ae65",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "029481cddb98697716f4bf3021d035eaf2ca0e1f",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8d202515baea4e2e3be448d1590099af28f2346d",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d85ee50f58dd83fe74f6d0bf8bd345c657b216e8",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7bbf02b63961fc1768c9c654392c11f2077d4c59",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6c8675468862161d1c59130266852b66867d3861",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8320c77e67382d5d55d77043a5f60a867d408a2b",
                    "status": "affected",
                    "version": "22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iio/gyro/bmg160_core.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "3.18"
                  },
                  {
                    "lessThan": "3.18",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.261",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.212",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.178",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.145",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.96",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.39",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "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\niio: gyro: bmg160: bail out when bandwidth/filter is not in table\n\nbmg160_get_filter() walks bmg160_samp_freq_table[] looking for the entry\nmatching the bw_bits value read from the chip:\n\n\tfor (i = 0; i \u003c ARRAY_SIZE(bmg160_samp_freq_table); ++i) {\n\t\tif (bmg160_samp_freq_table[i].bw_bits == bw_bits)\n\t\t\tbreak;\n\t}\n\t*val = bmg160_samp_freq_table[i].filter;\n\nIf no entry matches, i ends up equal to the array size and the next line\nreads one slot past the end. bmg160_set_filter() has the same shape, driven\nby \u0027val\u0027 instead of bw_bits.\n\nsmatch flags both:\n\n  drivers/iio/gyro/bmg160_core.c:204 bmg160_get_filter() error:\n  buffer overflow \u0027bmg160_samp_freq_table\u0027 7 \u003c= 7\n  drivers/iio/gyro/bmg160_core.c:222 bmg160_set_filter() error:\n  buffer overflow \u0027bmg160_samp_freq_table\u0027 7 \u003c= 7\n\nReturn -EINVAL when no entry matches.\n\nThe set_filter() path is reachable from userspace via the sysfs\nin_anglvel_filter_low_pass_3db_frequency interface, so userspace can\ntrivially trigger the out-of-bounds read with a value that is not in\nbmg160_samp_freq_table[].filter."
          }
        ],
        "id": "CVE-2026-64495",
        "lastModified": "2026-08-17T05:17:55.443",
        "metrics": {},
        "published": "2026-07-25T10:17:35.360",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/029481cddb98697716f4bf3021d035eaf2ca0e1f"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/1dc3a833be11e5d503038e3c701745fd0e03903c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6c8675468862161d1c59130266852b66867d3861"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/77e56ebb1786f4296afd5fa46975a989b285ae65"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7bbf02b63961fc1768c9c654392c11f2077d4c59"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/8320c77e67382d5d55d77043a5f60a867d408a2b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/8d202515baea4e2e3be448d1590099af28f2346d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d85ee50f58dd83fe74f6d0bf8bd345c657b216e8"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-07-29T11:19:24+00:00",
      "cve": "CVE-2026-64495",
      "id": "CVE-2026-64495",
      "initial_release_date": "2026-07-25T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: iio: gyro: bmg160: bail out when bandwidth/filter is not in table",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64495.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-18T00:39:17Z",
      "cve": "CVE-2026-64495",
      "id": "CVE-2026-64495",
      "initial_release_date": "2026-07-25T15:58:17Z",
      "product_status:known_affected": "671",
      "product_status:known_not_affected": "62",
      "product_status:recommended": "111",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-64495",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64495.json",
      "version": "12"
    }
  }
}



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…