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

CVE-2026-43006 (GCVE-0-2026-43006)

Vulnerability from cvelistv5 – Published: 2026-05-01 14:15 – Updated: 2026-08-05 12:25
VLAI
Title
io_uring/rsrc: reject zero-length fixed buffer import
Summary
In the Linux kernel, the following vulnerability has been resolved: io_uring/rsrc: reject zero-length fixed buffer import validate_fixed_range() admits buf_addr at the exact end of the registered region when len is zero, because the check uses strict greater-than (buf_end > imu->ubuf + imu->len). io_import_fixed() then computes offset == imu->len, which causes the bvec skip logic to advance past the last bio_vec entry and read bv_offset from out-of-bounds slab memory. Return early from io_import_fixed() when len is zero. A zero-length import has no data to transfer and should not walk the bvec array at all. BUG: KASAN: slab-out-of-bounds in io_import_reg_buf+0x697/0x7f0 Read of size 4 at addr ffff888002bcc254 by task poc/103 Call Trace: io_import_reg_buf+0x697/0x7f0 io_write_fixed+0xd9/0x250 __io_issue_sqe+0xad/0x710 io_issue_sqe+0x7d/0x1100 io_submit_sqes+0x86a/0x23c0 __do_sys_io_uring_enter+0xa98/0x1590 Allocated by task 103: The buggy address is located 12 bytes to the right of allocated 584-byte region [ffff888002bcc000, ffff888002bcc248)
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 8622b20f23ed165f48b8ca61503a107d17f8d585 , < 040a1e7e0e2f01851fec1dd2d96906f8636a9f75 (git)
Affected: 8622b20f23ed165f48b8ca61503a107d17f8d585 , < 40170fc1a79c1b2e68f09ae6aac687b7305ae6f4 (git)
Affected: 8622b20f23ed165f48b8ca61503a107d17f8d585 , < 111a12b422a8cfa93deabaef26fec48237163214 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.15
Unaffected: 0 , < 6.15 (semver)
Unaffected: 6.18.22 , ≤ 6.18.* (semver)
Unaffected: 6.19.12 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "io_uring/rsrc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "040a1e7e0e2f01851fec1dd2d96906f8636a9f75",
              "status": "affected",
              "version": "8622b20f23ed165f48b8ca61503a107d17f8d585",
              "versionType": "git"
            },
            {
              "lessThan": "40170fc1a79c1b2e68f09ae6aac687b7305ae6f4",
              "status": "affected",
              "version": "8622b20f23ed165f48b8ca61503a107d17f8d585",
              "versionType": "git"
            },
            {
              "lessThan": "111a12b422a8cfa93deabaef26fec48237163214",
              "status": "affected",
              "version": "8622b20f23ed165f48b8ca61503a107d17f8d585",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "io_uring/rsrc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.15"
            },
            {
              "lessThan": "6.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.22",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.22",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.12",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring/rsrc: reject zero-length fixed buffer import\n\nvalidate_fixed_range() admits buf_addr at the exact end of the\nregistered region when len is zero, because the check uses strict\ngreater-than (buf_end \u003e imu-\u003eubuf + imu-\u003elen).  io_import_fixed()\nthen computes offset == imu-\u003elen, which causes the bvec skip logic\nto advance past the last bio_vec entry and read bv_offset from\nout-of-bounds slab memory.\n\nReturn early from io_import_fixed() when len is zero.  A zero-length\nimport has no data to transfer and should not walk the bvec array\nat all.\n\n  BUG: KASAN: slab-out-of-bounds in io_import_reg_buf+0x697/0x7f0\n  Read of size 4 at addr ffff888002bcc254 by task poc/103\n  Call Trace:\n   io_import_reg_buf+0x697/0x7f0\n   io_write_fixed+0xd9/0x250\n   __io_issue_sqe+0xad/0x710\n   io_issue_sqe+0x7d/0x1100\n   io_submit_sqes+0x86a/0x23c0\n   __do_sys_io_uring_enter+0xa98/0x1590\n  Allocated by task 103:\n  The buggy address is located 12 bytes to the right of\n   allocated 584-byte region [ffff888002bcc000, ffff888002bcc248)"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable path is reached through local io_uring syscalls: create a ring, register a fixed buffer, then submit READ_FIXED or WRITE_FIXED. It is not reachable by remote packets or adjacent/physical input.\nAC:L - The trigger is deterministic: use len zero with buf_addr exactly at the end of a registered fixed buffer. No race or attacker-uncontrolled heap state is required to reach the out-of-bounds read.\nPR:L - An unprivileged local user can use io_uring when the upstream sysctl allows it, and buffer registration only requires ordinary user memory within resource limits. No real root or init-namespace capability is required.\nUI:N - After obtaining local execution, the attacker directly invokes io_uring_setup, io_uring_register, and io_uring_enter. No victim action is needed.\nS:U - The vulnerability is in the kernel servicing the attacker\u0027s local process and does not cross a separate security authority such as a VM host boundary. Standard local kernel compromise or crash remains Scope Unchanged.\nC:H - The bug performs an attacker-triggered out-of-bounds read from adjacent kernel slab memory while constructing the fixed-buffer bio_vec iterator. Under conservative kernel scoring, this is treated as high confidentiality impact because kernel heap data is read outside the valid object.\nI:N - The demonstrated primitive is an out-of-bounds read of bio_vec metadata, not an out-of-bounds write or use-after-free. I did not find a defensible direct data modification or control-flow overwrite primitive from this zero-length import.\nA:H - The reported path produces a KASAN slab-out-of-bounds BUG in io_import_reg_buf, and the same local trigger can be submitted repeatedly. Kernel oops/panic potential is High availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:25:13.184Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/040a1e7e0e2f01851fec1dd2d96906f8636a9f75"
        },
        {
          "url": "https://git.kernel.org/stable/c/40170fc1a79c1b2e68f09ae6aac687b7305ae6f4"
        },
        {
          "url": "https://git.kernel.org/stable/c/111a12b422a8cfa93deabaef26fec48237163214"
        }
      ],
      "title": "io_uring/rsrc: reject zero-length fixed buffer import",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-43006",
    "datePublished": "2026-05-01T14:15:14.176Z",
    "dateReserved": "2026-05-01T14:12:55.974Z",
    "dateUpdated": "2026-08-05T12:25:13.184Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-43006",
      "date": "2026-09-15",
      "epss": "0.00124",
      "percentile": "0.02428"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-43006\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-01T15:16:44.450\",\"lastModified\":\"2026-06-17T10:48:45.063\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nio_uring/rsrc: reject zero-length fixed buffer import\\n\\nvalidate_fixed_range() admits buf_addr at the exact end of the\\nregistered region when len is zero, because the check uses strict\\ngreater-than (buf_end \u003e imu-\u003eubuf + imu-\u003elen).  io_import_fixed()\\nthen computes offset == imu-\u003elen, which causes the bvec skip logic\\nto advance past the last bio_vec entry and read bv_offset from\\nout-of-bounds slab memory.\\n\\nReturn early from io_import_fixed() when len is zero.  A zero-length\\nimport has no data to transfer and should not walk the bvec array\\nat all.\\n\\n  BUG: KASAN: slab-out-of-bounds in io_import_reg_buf+0x697/0x7f0\\n  Read of size 4 at addr ffff888002bcc254 by task poc/103\\n  Call Trace:\\n   io_import_reg_buf+0x697/0x7f0\\n   io_write_fixed+0xd9/0x250\\n   __io_issue_sqe+0xad/0x710\\n   io_issue_sqe+0x7d/0x1100\\n   io_submit_sqes+0x86a/0x23c0\\n   __do_sys_io_uring_enter+0xa98/0x1590\\n  Allocated by task 103:\\n  The buggy address is located 12 bytes to the right of\\n   allocated 584-byte region [ffff888002bcc000, ffff888002bcc248)\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"io_uring/rsrc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"8622b20f23ed165f48b8ca61503a107d17f8d585\",\"lessThan\":\"040a1e7e0e2f01851fec1dd2d96906f8636a9f75\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8622b20f23ed165f48b8ca61503a107d17f8d585\",\"lessThan\":\"40170fc1a79c1b2e68f09ae6aac687b7305ae6f4\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"8622b20f23ed165f48b8ca61503a107d17f8d585\",\"lessThan\":\"111a12b422a8cfa93deabaef26fec48237163214\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"io_uring/rsrc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.22\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.19.12\",\"lessThanOrEqual\":\"6.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0\",\"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:N/A:H\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.2}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-125\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.15\",\"versionEndExcluding\":\"6.18.22\",\"matchCriteriaId\":\"A0B69104-1744-49F9-BFD7-533364994A3E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"6.19.12\",\"matchCriteriaId\":\"0A2B9540-02D5-41B4-B16A-82AF66FD4F36\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"F253B622-8837-4245-BCE5-A7BF8FC76A16\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"4AE85AD8-4641-4E7C-A2F4-305E2CD9EE64\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F666C8D8-6538-46D4-B318-87610DE64C34\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"02259FDA-961B-47BC-AE7F-93D7EC6E90C2\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"58A9FEFF-C040-420D-8F0A-BFDAAA1DF258\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"1D2315C0-D46F-4F85-9754-F9E5E11374A6\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/040a1e7e0e2f01851fec1dd2d96906f8636a9f75\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/111a12b422a8cfa93deabaef26fec48237163214\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/40170fc1a79c1b2e68f09ae6aac687b7305ae6f4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-02T12:53:32+00:00",
      "cve": "CVE-2026-43006",
      "id": "CVE-2026-43006",
      "initial_release_date": "2026-05-01T00:00:00+00:00",
      "product_status:fixed": "309",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: io_uring/rsrc: reject zero-length fixed buffer import",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43006.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-06T01:22:12Z",
      "cve": "CVE-2026-43006",
      "id": "CVE-2026-43006",
      "initial_release_date": "2026-05-06T01:41:33Z",
      "product_status:known_not_affected": "291",
      "product_status:recommended": "42",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-43006",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-43006.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…