CVE-2026-80584 PUBLISHED

s390/qeth: validate user buffer length in SNMP and ARP query ioctls

Assigner: Linux
Reserved: 26.08.2026 Published: 26.08.2026 Updated: 26.08.2026

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

s390/qeth: validate user buffer length in SNMP and ARP query ioctls

qeth_snmp_command() and qeth_l3_arp_query() allocate a buffer sized by a user-supplied length (udata_len) without checking a lower bound, then set udata_offset to a fixed non-zero value and pass both to a reply callback. The callback bounds-checks the copy with

<pre> if ((udata_len - udata_offset) < len) </pre>

Both fields are u32, so a udata_len smaller than udata_offset makes the subtraction wrap and the check pass, and the following memcpy() writes past the allocation. A udata_len of 0 also yields ZERO_SIZE_PTR from kzalloc(), which the existing NULL check does not catch.

Reject buffers smaller than udata_offset before allocating, so the callback subtraction can no longer underflow.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to 9d00eeb2d27f4cc817c5e408760226d43f811ec6 (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to 46443eaddebd84c51940857b11787229be169dec (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to 91935843f9396a9e45253e2c0d4337ca1371754b (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to cc423f4105fe145b33e1d7cad34245a798358f73 (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to 3083818e67bcd656965797fbac9a3d6c1d44f78a (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to a3083647747942ea32faf14560d6397ff3068046 (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to 75fb3151513d7d9f77a8f9545418279b119c06b8 (excl.)
  • affected from 4a71df50047f0db65ea09b1be155852e81a45eba to d141f087b1af656f055d7c5793a3e87817ba0bbe (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.26 is affected
  • unaffected from 0 to 2.6.26 (excl.)
  • unaffected from 5.10.266 to 5.10.* (incl.)
  • unaffected from 5.15.217 to 5.15.* (incl.)
  • unaffected from 6.1.184 to 6.1.* (incl.)
  • unaffected from 6.6.153 to 6.6.* (incl.)
  • unaffected from 6.12.105 to 6.12.* (incl.)
  • unaffected from 6.18.46 to 6.18.* (incl.)
  • unaffected from 7.1.10 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References