CVE-2026-98143 (GCVE-0-2026-98143)
Vulnerability from cvelistv5
Published
2026-09-25 10:36
Modified
2026-10-19 09:14
Summary
In the Linux kernel, the following vulnerability has been resolved: accel: ethosu: Don't read the U65 rounding mode as a storage mode Bits 15:14 of NPU_SET_{IFM,OFM}_PRECISION select the activation storage mode on U85 only. On U65 the same field holds the rounding mode, and the command stream parser has read it as a storage mode since the driver was added. That went unnoticed while unknown values fell through the switch, but now that they are rejected, every U65 command stream that asks for natural rounding (2) fails CMDSTREAM_BO_CREATE with -EINVAL. Mesa emits it for average pooling, concatenation, split, unpack, strided slice, LUT and argmax, which is 72 failures of the Teflon test suite on an i.MX93. Truncating rounding (1) is misread as well: it picks the two-tile address path and computes a bogus feature map size from tile bases the command stream never set. Read the field as a storage mode only on the hardware where it is one.
Impacted products
Vendor Product Version
Linux Linux Version: 5a5e9c0228e613f0ef2a58b9782d7c0ea8f1e58b
Version: 5a5e9c0228e613f0ef2a58b9782d7c0ea8f1e58b
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/accel/ethosu/ethosu_gem.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6b08adbda8ea797849e3654ce12cb3856ce6051a",
              "status": "affected",
              "version": "5a5e9c0228e613f0ef2a58b9782d7c0ea8f1e58b",
              "versionType": "git"
            },
            {
              "lessThan": "db9deec5a345abc538d081fb221dc0b00a9695bd",
              "status": "affected",
              "version": "5a5e9c0228e613f0ef2a58b9782d7c0ea8f1e58b",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/accel/ethosu/ethosu_gem.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.19"
            },
            {
              "lessThan": "6.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.7",
              "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": "7.2.7",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\naccel: ethosu: Don\u0027t read the U65 rounding mode as a storage mode\n\nBits 15:14 of NPU_SET_{IFM,OFM}_PRECISION select the activation storage\nmode on U85 only. On U65 the same field holds the rounding mode, and the\ncommand stream parser has read it as a storage mode since the driver was\nadded.\n\nThat went unnoticed while unknown values fell through the switch, but\nnow that they are rejected, every U65 command stream that asks for\nnatural rounding (2) fails CMDSTREAM_BO_CREATE with -EINVAL. Mesa emits\nit for average pooling, concatenation, split, unpack, strided slice, LUT\nand argmax, which is 72 failures of the Teflon test suite on an i.MX93.\nTruncating rounding (1) is misread as well: it picks the two-tile\naddress path and computes a bogus feature map size from tile bases the\ncommand stream never set.\n\nRead the field as a storage mode only on the hardware where it is one."
        }
      ],
      "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 malformed data is an NPU command stream a local process passes through DRM_IOCTL_ETHOSU_CMDSTREAM_BO_CREATE on /dev/accel/accelN, which is validated by ethosu_gem_cmdstream_copy_and_validate() -\u003e calc_sizes() -\u003e feat_matrix_length(), then run via DRM_IOCTL_ETHOSU_SUBMIT. No network or radio transport carries it.\nAC:L - The attacker writes the whole command stream: rounding bits 15:14 = 1 in NPU_SET_OFM_PRECISION, x past WIDTH0_M1, and an arbitrary NPU_SET_OFM_BASE1. The validator then checks only base[0] while the U65 hardware uses base[1]. The result is deterministic and needs no race.\nPR:L - The ethosu ioctls CMDSTREAM_BO_CREATE and SUBMIT are registered with flags 0, with no DRM_ROOT_ONLY or capability check. Only permission to open the accel node is needed, which an ordinary user in the render/video group on a U65 board (e.g. i.MX93) holds.\nUI:N - The attacker\u0027s own process builds and submits the command stream. No other user has to do anything.\nS:U - The broken check is the kernel\u0027s own command-stream validator, and the NPU DMA it lets through corrupts the host kernel\u0027s own memory. That is the same security authority, i.e. a normal local privilege escalation, not a guest or sandbox escape.\nC:H - With rounding mode 1 on U65, feat_matrix_length() uses the storage-1 tile path and never bounds IFM/IFM2 base[1]/base[3]. The NPU can therefore DMA-read memory past the region BO at an offset the attacker chooses, and the result comes back through the attacker\u0027s mmapped OFM BO.\nI:H - The same mismatch on NPU_SET_OFM_PRECISION leaves OFM base[1]/base[3] unchecked, so region_size[] understates what the hardware writes. The ethosu_job.c region_size \u003e gem-\u003esize check passes while the NPU writes attacker-computed output outside the BO, into kernel memory.\nA:H - Uncontrolled NPU DMA writes outside the BO can corrupt kernel data and panic the system. On unaffected command streams, the misread also makes every Mesa U65 job with natural rounding fail with -EINVAL."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:14:36.709Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/6b08adbda8ea797849e3654ce12cb3856ce6051a"
        },
        {
          "url": "https://git.kernel.org/stable/c/db9deec5a345abc538d081fb221dc0b00a9695bd"
        }
      ],
      "title": "accel: ethosu: Don\u0027t read the U65 rounding mode as a storage mode",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98143",
    "datePublished": "2026-09-25T10:36:18.470Z",
    "dateReserved": "2026-09-25T10:25:14.319Z",
    "dateUpdated": "2026-10-19T09:14:36.709Z",
    "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…