{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2"
            },
            {
              "fixed": "ca1c857e2bb74a9fc0606128334f85316d57067b"
            },
            {
              "fixed": "b870f652877bfbe321bd0f4096fc37a93296f7b6"
            },
            {
              "fixed": "ce57fa439bd1b5d664f334a0c3e3f0e42abb0153"
            },
            {
              "fixed": "fd19eb1c75047a4ed4e855f56cafd704dc3914e0"
            },
            {
              "fixed": "fe31722b0194ff76bf8b461e8bf97a2081147787"
            },
            {
              "fixed": "c1c2417c60dbdca5ebb00462f21ee71c2d7f7083"
            },
            {
              "fixed": "9e8f6c9d4ecddda2f28baa1678340286cff3969c"
            },
            {
              "fixed": "9aad71144fa3682cca3837a06c8623016790e7ec"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "2.6.12"
            },
            {
              "fixed": "5.10.258"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.11.0"
            },
            {
              "fixed": "5.15.209"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.16.0"
            },
            {
              "fixed": "6.1.175"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.2.0"
            },
            {
              "fixed": "6.6.140"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.7.0"
            },
            {
              "fixed": "6.12.86"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.27"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.0.4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46064.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nibmasm: fix heap over-read in ibmasm_send_i2o_message()\n\nThe ibmasm_send_i2o_message() function uses get_dot_command_size() to\ncompute the byte count for memcpy_toio(), but this value is derived from\nuser-controlled fields in the dot_command_header (command_size: u8,\ndata_size: u16) and is never validated against the actual allocation size.\nA root user can write a small buffer with inflated header fields, causing\nmemcpy_toio() to read up to ~65 KB past the end of the allocation into\nadjacent kernel heap, which is then forwarded to the service processor\nover MMIO.\n\nSilently clamping the copy size is not sufficient: if the header fields\nclaim a larger size than the buffer, the SP receives a dot command whose\nown header is inconsistent with the I2O message length, which can cause\nthe SP to desynchronize. Reject such commands outright by returning\nfailure.\n\nValidate command_size before calling get_mfa_inbound() to avoid leaking\nan I2O message frame: reading INBOUND_QUEUE_PORT dequeues a hardware\nframe from the controller's free pool, and returning without a\ncorresponding set_mfa_inbound() call would permanently exhaust it.\n\nAdditionally, clamp command_size to I2O_COMMAND_SIZE before the\nmemcpy_toio() so the MMIO write stays within the I2O message frame,\nconsistent with the clamping already performed by outgoing_message_size()\nfor the header field.",
  "id": "CVE-2026-46064",
  "modified": "2026-07-15T01:48:59.797098166Z",
  "published": "2026-05-27T12:57:30.247Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9aad71144fa3682cca3837a06c8623016790e7ec"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9e8f6c9d4ecddda2f28baa1678340286cff3969c"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b870f652877bfbe321bd0f4096fc37a93296f7b6"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c1c2417c60dbdca5ebb00462f21ee71c2d7f7083"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ca1c857e2bb74a9fc0606128334f85316d57067b"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ce57fa439bd1b5d664f334a0c3e3f0e42abb0153"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/fd19eb1c75047a4ed4e855f56cafd704dc3914e0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/fe31722b0194ff76bf8b461e8bf97a2081147787"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46064.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-46064"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.8.0",
  "summary": "ibmasm: fix heap over-read in ibmasm_send_i2o_message()"
}