CVE-2026-80951 (GCVE-0-2026-80951)
Vulnerability from cvelistv5
Published
2026-09-11 19:42
Modified
2026-10-19 08:45
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: i3c: master: svc: bound IBI payload to the requested max_payload_len svc_i3c_master_handle_ibi() reads the IBI payload from the RX FIFO into the IBI slot. The loop is bounded by the hardware FIFO size (SVC_I3C_FIFO_SIZE), not by the slot size. slot->data points into the IBI pool, which i3c_generic_ibi_alloc_pool() sizes at max_payload_len per slot. svc_i3c_master_request_ibi() only rejects a max_payload_len larger than SVC_I3C_FIFO_SIZE, so a driver can request a smaller one. mctp-i3c requests 1. Each readsb() then copies the controller RXCOUNT bytes (up to 31) with no check against the slot size. A device that sends more bytes than the slot holds writes past slot->data, an out-of-bounds write into the IBI pool. Bound the loop by dev->ibi->max_payload_len and clamp each read to the space left in the slot, the same way dw-i3c does. A device can still send more than the requested payload. Flush the leftover bytes from the RX FIFO so they do not leak into the next transfer.
Impacted products
Vendor Product Version
Linux Linux Version: dd3c52846d5954acd43f0e771689302f27dadc28
Version: dd3c52846d5954acd43f0e771689302f27dadc28
Version: dd3c52846d5954acd43f0e771689302f27dadc28
Version: dd3c52846d5954acd43f0e771689302f27dadc28
Version: dd3c52846d5954acd43f0e771689302f27dadc28
Version: dd3c52846d5954acd43f0e771689302f27dadc28
Version: dd3c52846d5954acd43f0e771689302f27dadc28
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/i3c/master/svc-i3c-master.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "7c099b0b292a68d0ef558527945dbfb756fbf893",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            },
            {
              "lessThan": "7cc5ba756bc1cfffab9cb2695742f9f479dc73f7",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            },
            {
              "lessThan": "35aa6730b8c5626b879a4e893fe664f59bf07d7f",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            },
            {
              "lessThan": "f296a0d5907bf88314dfda67245f7f69d1552470",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            },
            {
              "lessThan": "5697d779577e2786ff3348ae9b77020ac0cf0aab",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            },
            {
              "lessThan": "aac3c5aababc7fb69d5bf5b0cc52d308574e3a8c",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            },
            {
              "lessThan": "e2bda39d7f9f285ec803e200b5c1f17143d0b483",
              "status": "affected",
              "version": "dd3c52846d5954acd43f0e771689302f27dadc28",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/i3c/master/svc-i3c-master.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.12"
            },
            {
              "lessThan": "5.12",
              "status": "unaffected",
              "version": "0",
              "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.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",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.109",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni3c: master: svc: bound IBI payload to the requested max_payload_len\n\nsvc_i3c_master_handle_ibi() reads the IBI payload from the RX FIFO into\nthe IBI slot. The loop is bounded by the hardware FIFO size\n(SVC_I3C_FIFO_SIZE), not by the slot size.\n\nslot-\u003edata points into the IBI pool, which i3c_generic_ibi_alloc_pool()\nsizes at max_payload_len per slot. svc_i3c_master_request_ibi() only\nrejects a max_payload_len larger than SVC_I3C_FIFO_SIZE, so a driver can\nrequest a smaller one. mctp-i3c requests 1. Each readsb() then copies the\ncontroller RXCOUNT bytes (up to 31) with no check against the slot size.\nA device that sends more bytes than the slot holds writes past\nslot-\u003edata, an out-of-bounds write into the IBI pool.\n\nBound the loop by dev-\u003eibi-\u003emax_payload_len and clamp each read to the\nspace left in the slot, the same way dw-i3c does. A device can still send\nmore than the requested payload. Flush the leftover bytes from the RX FIFO\nso they do not leak into the next transfer."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T08:45:35.194Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/7c099b0b292a68d0ef558527945dbfb756fbf893"
        },
        {
          "url": "https://git.kernel.org/stable/c/7cc5ba756bc1cfffab9cb2695742f9f479dc73f7"
        },
        {
          "url": "https://git.kernel.org/stable/c/35aa6730b8c5626b879a4e893fe664f59bf07d7f"
        },
        {
          "url": "https://git.kernel.org/stable/c/f296a0d5907bf88314dfda67245f7f69d1552470"
        },
        {
          "url": "https://git.kernel.org/stable/c/5697d779577e2786ff3348ae9b77020ac0cf0aab"
        },
        {
          "url": "https://git.kernel.org/stable/c/aac3c5aababc7fb69d5bf5b0cc52d308574e3a8c"
        },
        {
          "url": "https://git.kernel.org/stable/c/e2bda39d7f9f285ec803e200b5c1f17143d0b483"
        }
      ],
      "title": "i3c: master: svc: bound IBI payload to the requested max_payload_len",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80951",
    "datePublished": "2026-09-11T19:42:21.115Z",
    "dateReserved": "2026-08-26T14:34:25.804Z",
    "dateUpdated": "2026-10-19T08:45:35.194Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…