---
id: CVE-2026-97916
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  accel/ivpu: Validate firmware log buffer metadata

  The tracing log headers parsed by fw_log_print_buffer() reside in
  DMA-shared BOs that the NPU firmware can write to.
  …
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  accel/ivpu: Validate firmware log buffer metadata

  The tracing log headers parsed by fw_log_print_buffer() reside in
  DMA-shared BOs that the NPU firmware can write to.
  …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d4e4257afa6ed5205eda993180401fc2c20e4b60 <
    8ec3d6972f1440fae6c8dadd1859892775208759
  - >-
    Linux >= d4e4257afa6ed5205eda993180401fc2c20e4b60 <
    40868f80a89199630b03d4457876f9a1feba0660
  - >-
    Linux >= d4e4257afa6ed5205eda993180401fc2c20e4b60 <
    b1555f63ee1a680f280bc18e8dac416f250e2ec3
  - >-
    Linux >= d4e4257afa6ed5205eda993180401fc2c20e4b60 <
    0724afc55c77c36c7feb9a7264b02aa7593c5c2d
  - Linux 6.6
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:18.593'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-97916'
references:
  - url: 'https://git.kernel.org/stable/c/0724afc55c77c36c7feb9a7264b02aa7593c5c2d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/40868f80a89199630b03d4457876f9a1feba0660'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8ec3d6972f1440fae6c8dadd1859892775208759'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b1555f63ee1a680f280bc18e8dac416f250e2ec3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.889Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

accel/ivpu: Validate firmware log buffer metadata

The tracing log headers parsed by fw_log_print_buffer() reside in
DMA-shared BOs that the NPU firmware can write to.

fw_log_from_bo() validated log->header_size and log->size, but
fw_log_print_buffer() re-read those same fields from shared memory
afterwards, allowing a TOCTOU where firmware changes them between the
check and the use, and making the host dereference out-of-bounds
addresses while printing logs.

Snapshot the validated values once with READ_ONCE() and pass them down
explicitly in a new struct ivpu_fw_log_desc instead of re-reading them
from the shared struct.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
