GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-89501 (GCVE-0-2026-89501)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:43 – Updated: 2026-09-13 06:30
VLAI
Title
ring-buffer: Hold cpu_buffer::lock when resizing a subbuf
Summary
In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Hold cpu_buffer::lock when resizing a subbuf Because, ring_buffer_subbuf_order_set() can clear cpu_buffer->free_page, hold cpu_buffer->lock to prevent races with ring_buffer_alloc_read_page() and ring_buffer_free_read_page().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 8e7b58c27b3c567316a51079b375b846f9223bba , < 8a496aaa3da6e8d545896c2370c7e617cc931ae2 (git)
Affected: 8e7b58c27b3c567316a51079b375b846f9223bba , < 6fcb0b745a0b80df62eae4a93ce52a2d061f4ac2 (git)
Affected: 8e7b58c27b3c567316a51079b375b846f9223bba , < bf242baf58de03467f226c8e29554c9495dca7fc (git)
Affected: 8e7b58c27b3c567316a51079b375b846f9223bba , < 24974bd0da1b47fd56c975533ead50abf754e74d (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.8
Unaffected: 0 , < 6.8 (semver)
Unaffected: 6.12.109 , ≤ 6.12.* (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 7.2.4 , ≤ 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": [
            "kernel/trace/ring_buffer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8a496aaa3da6e8d545896c2370c7e617cc931ae2",
              "status": "affected",
              "version": "8e7b58c27b3c567316a51079b375b846f9223bba",
              "versionType": "git"
            },
            {
              "lessThan": "6fcb0b745a0b80df62eae4a93ce52a2d061f4ac2",
              "status": "affected",
              "version": "8e7b58c27b3c567316a51079b375b846f9223bba",
              "versionType": "git"
            },
            {
              "lessThan": "bf242baf58de03467f226c8e29554c9495dca7fc",
              "status": "affected",
              "version": "8e7b58c27b3c567316a51079b375b846f9223bba",
              "versionType": "git"
            },
            {
              "lessThan": "24974bd0da1b47fd56c975533ead50abf754e74d",
              "status": "affected",
              "version": "8e7b58c27b3c567316a51079b375b846f9223bba",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/trace/ring_buffer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.8"
            },
            {
              "lessThan": "6.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.109",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "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": "6.12.109",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "6.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nring-buffer: Hold cpu_buffer::lock when resizing a subbuf\n\nBecause, ring_buffer_subbuf_order_set() can clear cpu_buffer-\u003efree_page,\nhold cpu_buffer-\u003elock to prevent races with\nring_buffer_alloc_read_page() and ring_buffer_free_read_page()."
        }
      ],
      "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 bug is reached only via local tracefs syscalls: write() to buffer_subbuf_size_kb (ring_buffer_subbuf_order_set) racing with read()/close() on per_cpu/*/trace_pipe_raw (ring_buffer_alloc_read_page and ring_buffer_free_read_page). No network, adjacent-radio, or physical path reaches this free_page steal.\nAC:L - The attacker controls both sides of the race: one thread toggles buffer_subbuf_size_kb to copy and NULL cpu_buffer-\u003efree_page without cpu_buffer-\u003elock, while another reads or closes trace_pipe_raw, which takes or caches that page under the lock. Success does not depend on an uninfluenced victim state.\nPR:L - tracing_check_open_get_tr() enforces only LOCKDOWN_TRACEFS and DAC with no capable() check. buffer_subbuf_size_kb and trace_pipe_raw are mode 0640 and are routinely delegated via tracefs gid=/mode= to tracing-group members on Android/Perfetto, ChromeOS, and developer kernels, matching prior CNA tracefs UAF scores.\nUI:N - Exploitation uses the attacker\u2019s own tracefs file descriptors and threads (open/read/close trace_pipe_raw while writing buffer_subbuf_size_kb). No separate victim mount, click, or configuration action is required.\nS:U - The use-after-free and double-free corrupt kernel ring-buffer pages and metadata within the same OS security authority. This enables local privilege escalation but does not cross VM, IOMMU, container-hypervisor, or hardware trust boundaries.\nC:H - ring_buffer_subbuf_order_set() can free the cached free_page after alloc_read_page has already claimed it, including after ring_buffer_read_page swaps it into the live reader page. Recycled heap contents are then copied to userspace via tracing_buffers_read, giving a high-impact disclosure primitive.\nI:H - The same race double-frees the page or installs a freed page as the live ring-buffer reader page, so later tracing writes and free_read_page hit attacker-reclaimable heap. This UAF/double-free is exploitable for arbitrary kernel writes and control-flow hijack, not merely a crash.\nA:H - Concurrent free of a still-in-use reader or spare page corrupts ring-buffer lists and causes kernel oops/panic on UAF or double-free. The attacker can retrigger the race at will through repeated subbuf resizes and raw-buffer reads."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-13T06:30:08.611Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8a496aaa3da6e8d545896c2370c7e617cc931ae2"
        },
        {
          "url": "https://git.kernel.org/stable/c/6fcb0b745a0b80df62eae4a93ce52a2d061f4ac2"
        },
        {
          "url": "https://git.kernel.org/stable/c/bf242baf58de03467f226c8e29554c9495dca7fc"
        },
        {
          "url": "https://git.kernel.org/stable/c/24974bd0da1b47fd56c975533ead50abf754e74d"
        }
      ],
      "title": "ring-buffer: Hold cpu_buffer::lock when resizing a subbuf",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89501",
    "datePublished": "2026-09-11T19:43:50.063Z",
    "dateReserved": "2026-09-11T19:38:34.715Z",
    "dateUpdated": "2026-09-13T06:30:08.611Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-89501",
      "date": "2026-09-16",
      "epss": "0.00163",
      "percentile": "0.05915"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-89501\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-09-11T20:19:32.303\",\"lastModified\":\"2026-09-13T07:17:13.333\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nring-buffer: Hold cpu_buffer::lock when resizing a subbuf\\n\\nBecause, ring_buffer_subbuf_order_set() can clear cpu_buffer-\u003efree_page,\\nhold cpu_buffer-\u003elock to prevent races with\\nring_buffer_alloc_read_page() and ring_buffer_free_read_page().\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"kernel/trace/ring_buffer.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"8e7b58c27b3c567316a51079b375b846f9223bba\",\"lessThan\":\"8a496aaa3da6e8d545896c2370c7e617cc931ae2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8e7b58c27b3c567316a51079b375b846f9223bba\",\"lessThan\":\"6fcb0b745a0b80df62eae4a93ce52a2d061f4ac2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8e7b58c27b3c567316a51079b375b846f9223bba\",\"lessThan\":\"bf242baf58de03467f226c8e29554c9495dca7fc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8e7b58c27b3c567316a51079b375b846f9223bba\",\"lessThan\":\"24974bd0da1b47fd56c975533ead50abf754e74d\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"kernel/trace/ring_buffer.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.8\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.8\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.109\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.50\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2.4\",\"lessThanOrEqual\":\"7.2.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.3-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/24974bd0da1b47fd56c975533ead50abf754e74d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6fcb0b745a0b80df62eae4a93ce52a2d061f4ac2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8a496aaa3da6e8d545896c2370c7e617cc931ae2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bf242baf58de03467f226c8e29554c9495dca7fc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-13T06:56:40+00:00",
      "cve": "CVE-2026-89501",
      "id": "CVE-2026-89501",
      "initial_release_date": "2026-09-11T19:43:50.063000+00:00",
      "product_status:known_affected": "2",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel ring-buffer: Race condition can lead to system instability",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89501.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T00:58:46Z",
      "cve": "CVE-2026-89501",
      "id": "CVE-2026-89501",
      "initial_release_date": "2026-09-12T16:27:24Z",
      "product_status:known_affected": "17",
      "product_status:known_not_affected": "336",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-89501",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-89501.json",
      "version": "3"
    }
  }
}



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…