CVE-2026-63930 (GCVE-0-2026-63930)

Vulnerability from cvelistv5 – Published: 2026-07-19 14:55 – Updated: 2026-08-05 12:37
VLAI
Title
iio: buffer: hw-consumer: fix use-after-free in error path
Summary
In the Linux kernel, the following vulnerability has been resolved: iio: buffer: hw-consumer: fix use-after-free in error path In the err_put_buffers cleanup path of iio_hw_consumer_alloc(), the code was using list_for_each_entry() to iterate through buffers while calling iio_buffer_put() which can free the current buffer if refcount drops to 0. The list_for_each_entry() loop macro then evaluates buf->head.next to continue iteration, accessing the freed buffer. Fix this by using list_for_each_entry_safe().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < b71893c57730809c222766e5718bb33610f11963 (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < 2ff615fc455acda5425c4900160cbe11cfea4449 (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < d2759d49860b9a39b5cde2fb88e4b822ddf5f58f (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < 29783e6b6ec0b7152a15e53a063f17537e81177d (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < e965627f0d442bfcae3f496c90cb653fb0917a61 (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < a3763ae33476328cf8d661742deb9daec78eac96 (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < 9319c94f63ed10723afd738d79f5617daba87cc8 (git)
Affected: 48b66f8f936f369bb1a43c12aedbfeb2975baf4c , < 6f5ed4f2c7c83f33344e0ba179f72a12e5dad4a4 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.16
Unaffected: 0 , < 4.16 (semver)
Unaffected: 5.10.259 , ≤ 5.10.* (semver)
Unaffected: 5.15.210 , ≤ 5.15.* (semver)
Unaffected: 6.1.176 , ≤ 6.1.* (semver)
Unaffected: 6.6.143 , ≤ 6.6.* (semver)
Unaffected: 6.12.93 , ≤ 6.12.* (semver)
Unaffected: 6.18.35 , ≤ 6.18.* (semver)
Unaffected: 7.0.12 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (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/buffer/industrialio-hw-consumer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b71893c57730809c222766e5718bb33610f11963",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "2ff615fc455acda5425c4900160cbe11cfea4449",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "d2759d49860b9a39b5cde2fb88e4b822ddf5f58f",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "29783e6b6ec0b7152a15e53a063f17537e81177d",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "e965627f0d442bfcae3f496c90cb653fb0917a61",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "a3763ae33476328cf8d661742deb9daec78eac96",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "9319c94f63ed10723afd738d79f5617daba87cc8",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            },
            {
              "lessThan": "6f5ed4f2c7c83f33344e0ba179f72a12e5dad4a4",
              "status": "affected",
              "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/iio/buffer/industrialio-hw-consumer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.16"
            },
            {
              "lessThan": "4.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.259",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.210",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.176",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.143",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.93",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.259",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.210",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.176",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.143",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.93",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.35",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.12",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niio: buffer: hw-consumer: fix use-after-free in error path\n\nIn the err_put_buffers cleanup path of iio_hw_consumer_alloc(), the code\nwas using list_for_each_entry() to iterate through buffers while calling\niio_buffer_put() which can free the current buffer if refcount drops to 0.\nThe list_for_each_entry() loop macro then evaluates buf-\u003ehead.next to\ncontinue iteration, accessing the freed buffer.\n\nFix this by using list_for_each_entry_safe()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is only reached from kernel driver probe via `devm_iio_hw_consumer_alloc()` in the STM32 DFSDM ADC driver; there is no network, Bluetooth, or direct userspace syscall/ioctl path to `iio_hw_consumer_alloc()`.\nAC:L - Once on affected hardware, triggering the bug requires only causing `ENOMEM` during buffer setup (e.g., memory exhaustion) while probe or deferred-probe runs; the UAF is deterministic on that failure path and does not depend on winning a race or uncontrollable memory layout.\nPR:L - An unprivileged local user can exhaust system memory to force allocation failure during deferred-probe retries on embedded STM32 systems using legacy DFSDM bindings, without requiring init-namespace root or `CAP_SYS_MODULE`.\nUI:N - Exploitation does not require any victim user action such as mounting a filesystem or opening a file; memory pressure and kernel probe retries are sufficient.\nS:U - Impact is kernel heap memory corruption within the same kernel security authority; this is not a VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - The bug is a slab use-after-free where the cleanup loop dereferences `buf-\u003ehead.next` after `iio_buffer_put()` frees the buffer object, enabling arbitrary kernel memory read primitives via heap grooming.\nI:H - Use-after-free on `hw_consumer_buffer` kmalloc objects can be leveraged for heap corruption and control-flow hijack to achieve arbitrary kernel write or code execution, not merely a bounded modification.\nA:H - The use-after-free dereference of freed list linkage commonly causes kernel oops/panic during the error cleanup path, and successful exploitation can fully compromise kernel availability."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:37:23.422Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b71893c57730809c222766e5718bb33610f11963"
        },
        {
          "url": "https://git.kernel.org/stable/c/2ff615fc455acda5425c4900160cbe11cfea4449"
        },
        {
          "url": "https://git.kernel.org/stable/c/d2759d49860b9a39b5cde2fb88e4b822ddf5f58f"
        },
        {
          "url": "https://git.kernel.org/stable/c/29783e6b6ec0b7152a15e53a063f17537e81177d"
        },
        {
          "url": "https://git.kernel.org/stable/c/e965627f0d442bfcae3f496c90cb653fb0917a61"
        },
        {
          "url": "https://git.kernel.org/stable/c/a3763ae33476328cf8d661742deb9daec78eac96"
        },
        {
          "url": "https://git.kernel.org/stable/c/9319c94f63ed10723afd738d79f5617daba87cc8"
        },
        {
          "url": "https://git.kernel.org/stable/c/6f5ed4f2c7c83f33344e0ba179f72a12e5dad4a4"
        }
      ],
      "title": "iio: buffer: hw-consumer: fix use-after-free in error path",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-63930",
    "datePublished": "2026-07-19T14:55:30.016Z",
    "dateReserved": "2026-07-19T07:54:57.021Z",
    "dateUpdated": "2026-08-05T12:37:23.422Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-63930",
      "date": "2026-09-21",
      "epss": "0.0016",
      "percentile": "0.05536"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iio/buffer/industrialio-hw-consumer.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "b71893c57730809c222766e5718bb33610f11963",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2ff615fc455acda5425c4900160cbe11cfea4449",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d2759d49860b9a39b5cde2fb88e4b822ddf5f58f",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "29783e6b6ec0b7152a15e53a063f17537e81177d",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e965627f0d442bfcae3f496c90cb653fb0917a61",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a3763ae33476328cf8d661742deb9daec78eac96",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "9319c94f63ed10723afd738d79f5617daba87cc8",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6f5ed4f2c7c83f33344e0ba179f72a12e5dad4a4",
                    "status": "affected",
                    "version": "48b66f8f936f369bb1a43c12aedbfeb2975baf4c",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/iio/buffer/industrialio-hw-consumer.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.16"
                  },
                  {
                    "lessThan": "4.16",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.259",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.210",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.176",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.143",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.93",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.35",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.12",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "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: buffer: hw-consumer: fix use-after-free in error path\n\nIn the err_put_buffers cleanup path of iio_hw_consumer_alloc(), the code\nwas using list_for_each_entry() to iterate through buffers while calling\niio_buffer_put() which can free the current buffer if refcount drops to 0.\nThe list_for_each_entry() loop macro then evaluates buf-\u003ehead.next to\ncontinue iteration, accessing the freed buffer.\n\nFix this by using list_for_each_entry_safe()."
          }
        ],
        "id": "CVE-2026-63930",
        "lastModified": "2026-07-27T17:44:23.777",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-19T16:17:11.380",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/29783e6b6ec0b7152a15e53a063f17537e81177d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2ff615fc455acda5425c4900160cbe11cfea4449"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6f5ed4f2c7c83f33344e0ba179f72a12e5dad4a4"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/9319c94f63ed10723afd738d79f5617daba87cc8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a3763ae33476328cf8d661742deb9daec78eac96"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b71893c57730809c222766e5718bb33610f11963"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d2759d49860b9a39b5cde2fb88e4b822ddf5f58f"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e965627f0d442bfcae3f496c90cb653fb0917a61"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Awaiting Analysis"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-05T14:21:05+00:00",
      "cve": "CVE-2026-63930",
      "id": "CVE-2026-63930",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: iio: buffer: hw-consumer: fix use-after-free in error path",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-63930.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-18T00:46:17Z",
      "cve": "CVE-2026-63930",
      "id": "CVE-2026-63930",
      "initial_release_date": "2026-07-21T13:03:20Z",
      "product_status:first_fixed": "2",
      "product_status:known_affected": "578",
      "product_status:known_not_affected": "143",
      "product_status:recommended": "250",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-63930",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-63930.json",
      "version": "10"
    }
  }
}



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…

Detection rules are retrieved from Rulezet.

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…