CVE-2026-98145: accel/amdxdna: reject a command chain that carries no commands

Published Sep 25, 2026
·
Updated

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

accel/amdxdna: reject a command chain that carries no commands

A chain whose commandcount is zero passes the payload length check, because structsize(payload, data, 0) is just the header. The fill loop then does not run, so offset stays zero and the request is submitted with a zero-length buffer.

On firmware without AIE2NPUCOMMAND that ends at the opcode check, since op is still ERTINVALIDCMD and aie2getchainmsgop() answers MSGOPMAXOPCODE. aie2getnpuchainmsgop() answers MSGOPCHAINEXECNPU whatever it is given, so there the submission continues to drmclflushvirtrange(cmdbuf, 0), which reads the byte before the buffer and faults on the vmap guard page. EXECCMD is reachable by any process that can open the render node.

Reject the request instead.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Reject command-chain requests that carry no commands (command_count equal to zero) before processing or submitting the chain.

Event History

Sep 25, 2026
CVE Published
via MITRE·10:36 AM
Data Sourced
via MITRE·10:36 AM
Description

Frequently Asked Questions

1

Who can trigger this issue?

Any process that can open the AMD XDNA render node can reach the affected EXEC_CMD path. The issue does not require elevated privileges beyond access to that device node.

2

What input is needed to trigger the failure?

An attacker must submit a command chain with command_count set to zero. This passes the payload-length validation and results in submission of a zero-length command buffer.

3

Are all firmware configurations affected in the same way?

The described fault occurs on firmware without AIE2_NPU_COMMAND, where the request can continue to drm_clflush_virt_range(cmd_buf, 0) and read before the buffer into the vmap guard page. The data does not establish equivalent behavior for other firmware configurations.

4

What is the remediation?

Apply a kernel version containing the fix that rejects command chains with zero commands. The referenced stable commits are ed74e8d603df457bfcf16ed4f8f1660a1525759e and ef6d27af71e1dc43181ec797a6aaa77c27c36786.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203