---
id: CVE-2026-98658
title: 'iio: proximity: aw96103: validate firmware data length'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  iio: proximity: aw96103: validate firmware data length

  The firmware parser reads a length from the binary header and then uses
  it to walk six-byte register/value entri…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 07b241262dcad07671c444ca955903325de28e9e <
    4a9b9f2d4e26589afd0ac099c8e5593170dd5ac7
  - >-
    Linux >= 07b241262dcad07671c444ca955903325de28e9e <
    6501b032be217ecf47e793b78a05078cf0b604ad
  - >-
    Linux >= 07b241262dcad07671c444ca955903325de28e9e <
    815ae0b73b69ace207b6bbf7ef428b06491c3ddb
  - >-
    Linux >= 07b241262dcad07671c444ca955903325de28e9e <
    1a7c522a35477d70320bd64aba8e9de0c1058c6f
  - Linux 6.12
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:44:12.196Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98658'
references:
  - url: 'https://git.kernel.org/stable/c/4a9b9f2d4e26589afd0ac099c8e5593170dd5ac7'
  - url: 'https://git.kernel.org/stable/c/6501b032be217ecf47e793b78a05078cf0b604ad'
  - url: 'https://git.kernel.org/stable/c/815ae0b73b69ace207b6bbf7ef428b06491c3ddb'
  - url: 'https://git.kernel.org/stable/c/1a7c522a35477d70320bd64aba8e9de0c1058c6f'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.536Z'
---

## Overview

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

iio: proximity: aw96103: validate firmware data length

The firmware parser reads a length from the binary header and then uses
it to walk six-byte register/value entries. A truncated firmware image
can make the parser read beyond the copied firmware buffer. A value
smaller than the four-byte count field also underflows, producing a very
large length.

Read the little-endian field with get_unaligned_le32(), as previously
proposed by David Lechner. Validate the header size, reject an
underflowed length, ensure the resulting payload is contained in the
firmware image, and require it to contain whole register/value entries.

## Affected

- `Linux >= 07b241262dcad07671c444ca955903325de28e9e < 4a9b9f2d4e26589afd0ac099c8e5593170dd5ac7`
- `Linux >= 07b241262dcad07671c444ca955903325de28e9e < 6501b032be217ecf47e793b78a05078cf0b604ad`
- `Linux >= 07b241262dcad07671c444ca955903325de28e9e < 815ae0b73b69ace207b6bbf7ef428b06491c3ddb`
- `Linux >= 07b241262dcad07671c444ca955903325de28e9e < 1a7c522a35477d70320bd64aba8e9de0c1058c6f`
- `Linux 6.12`

## Remediation

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