Bug 2517014 (CVE-2026-74544) - CVE-2026-74544 kernel: net/sched: cls_u32: validate offshift to prevent shift-out-of-bounds
Summary: CVE-2026-74544 kernel: net/sched: cls_u32: validate offshift to prevent shift...
Keywords:
Status: NEW
Alias: CVE-2026-74544
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-15 12:44 UTC by OSIDB Bzimport
Modified: 2026-08-21 08:05 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-15 12:44:58 UTC
In the Linux kernel, the following vulnerability has been resolved:

net/sched: cls_u32: validate offshift to prevent shift-out-of-bounds

u32_change() copies the user-provided tc_u32_sel.offshift (unsigned char,
0-255) into the kernel knode object without bounds validation. When a
packet later hits u32_classify() with TC_U32_VAROFFSET set, it evaluates
`ntohs(offmask & *data) >> offshift` where the left operand is a 16-bit
value promoted to a 32-bit int. Any offshift >= 32 is undefined behavior
per C11 6.5.7p3, triggerable by an unprivileged user via user/network
namespaces.

UBSAN: shift-out-of-bounds in net/sched/cls_u32.c:236:43
shift exponent 32 is too large for 32-bit type int

Fix this by rejecting offshift >= 16 during filter creation in
u32_change().

Comment 1 Mauro Matteo Cascella 2026-08-21 08:01:24 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026081549-CVE-2026-74544-2dcd@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.