CVE-2026-74729: soc: aspeed: lpc-snoop: Fix usercopy overflow in snoop_file_read

Published Aug 22, 2026
·
Updated

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

soc: aspeed: lpc-snoop: Fix usercopy overflow in snoopfileread

putfifowithdiscard() acts as both producer and consumer on the kfifo: it calls kfifoskip() (advances out) and kfifoput() (advances in) from the IRQ handler without synchronizing with snoopfileread(), which also consumes via kfifotouser(). On SMP systems this concurrent access can leave (in - out) larger than the ring buffer, so kfifotouser()'s clamp to (in - out) is ineffective and kfifocopytouser() can attempt a copytouser() past the kmalloc-2k backing store:

usercopy: Kernel memory exposure attempt detected from SLUB object 'kmalloc-2k' (offset 0, size 2049)! kernel BUG at mm/usercopy.c! Call trace: usercopyabort checkheapobject checkobjectsize kfifocopytouser kfifotouser snoopfileread vfsread

Serialize kfifo access with a per-channel spinlock shared between the IRQ handler (producer) and the file reader (consumer). Annotate @fifo with guardedby(&lock) and opt the driver into context analysis so the compiler enforces that all fifo access holds the lock.

Affected Software

1 affected component
Linux Linux kernel

Event History

Aug 22, 2026
CVE Published
via MITRE·03:33 PM
Data Sourced
via MITRE·03:33 PM
Description
Data Sourced
via NVD·04:16 PM
Description

Frequently Asked Questions

1

Which systems are realistically exposed to this issue?

Systems using the Aspeed LPC snoop driver are affected when its FIFO is accessed concurrently by the interrupt handler and a userspace reader. The race is specifically described on SMP systems.

2

What must occur for the vulnerability to be triggered?

An interrupt-driven producer path must call put_fifo_with_discard() while snoop_file_read() is reading the same kfifo. The unsynchronized kfifo_skip()/kfifo_put() and kfifo_to_user() operations can corrupt the observed FIFO state and cause an oversized copy_to_user().

3

How can an administrator recognize a possible occurrence?

The kernel may report a usercopy violation involving a kmalloc-2k object, such as a copy size of 2049, followed by a kernel BUG at mm/usercopy.c. Stack traces can include kfifo_copy_to_user, __kfifo_to_user, snoop_file_read, and vfs_read.

4

What is the remediation?

Apply a kernel version containing the fix that serializes per-channel kfifo access with a shared spinlock between the IRQ handler and file reader. The referenced stable commits are 131ab677b03349a5ae48da8722ec7075b37ec66e and 1acef6d85bfd98bd9dfe1f08bffa397a4dda8a6f.

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