
NVD Published Date: 03/03/2025
NVD Last Modified: 03/07/2025
Preface: Real-time processing of sensor data for tasks like obstacle detection and navigation is crucial, making NPUs ideal for these applications. NPUs help in real-time decision-making and control, which is essential for robotic applications. While NPUs are highly efficient for specific AI applications, they cannot replace GPUs due to their limited scope.
Background: Mutex Unlocking: The mutex is unlocked after the resource has been freed.
If another thread tries to access the resource after it has been freed but before the mutex is unlocked, it can lead to a use-after-free vulnerability. This is because the memory location might be reused for another purpose, leading to undefined behavior when the freed resource is accessed.
Vulnerability details: Memory corruption while calling the NPU driver APIs concurrently.
Reference:
mutex_unlock: This function releases a mutex that was previously locked. Mutexes are used to ensure that only one thread can access a particular section of code or data at a time, preventing race conditions.
&npu_dev->dev_lock: This is the address of the mutex lock associated with the npu_dev device. The dev_lock is a member of the npu_dev structure, and the & operator gets its address.
When this command is executed, it releases the lock on dev_lock, allowing other threads that might be waiting to acquire the lock to proceed
Official announcement: Please see the link for details –