Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A vulnerability exists in the Linux kernel's uio_hv_generic driver, where the default handling of interrupt masks can lead to missed interrupts and potential hangs in user-mode applications. This issue arises because the driver improperly manages the interrupt mask, allowing user-space operations to be disrupted. When the driver sets the inbound ring buffer interrupt mask to 1, the host fails to notify the guest of incoming messages, despite still delivering them to the ring buffer. This can cause the user-space application to hang while waiting for an interrupt, as the host does not send another notification until the ring buffer is emptied. The problem can be reproduced by delaying the removal of the interrupt mask in the hv_fcopy_uio_daemon application, creating a race condition that exacerbates the issue.
The incorrect management of interrupt masks can cause user-space applications to miss critical notifications, leading to indefinite blocking while waiting for interrupts. This can disrupt the normal operation of applications relying on timely event handling through the UIO VMBus channel.
The vulnerability can be reproduced in the hv_fcopy_uio_daemon application by delaying the process of clearing the interrupt mask. This will simulate the conditions that cause the user-space application to miss interrupts and hang while waiting for events that are not delivered.
Users can manually control the interrupt mask by writing 0 or 1 to the appropriate /dev/uioX device file, allowing for proper management of interrupt notifications.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.