Skip to main content
EPSS 0.6%top 53%

Linux azure: In the Linux kernel, the following vulnerability has been resolved: uio_hv_generic: Let userspace take care of interrupt mask Remove the logic to… (CVE-2025-40048)

0
Medium
Published: 10/28/2025 (10/28/2025, 12:15:00 UTC)
Source: GCVE Database
Product: linux-azure

Description

In the Linux kernel, the following vulnerability has been resolved: uio_hv_generic: Let userspace take care of interrupt mask Remove the logic to set interrupt mask by default in uio_hv_generic driver as the interrupt mask value is supposed to be controlled completely by the user space. If the mask bit gets changed by the driver, concurrently with user mode operating on the ring, the mask bit may be set when it is supposed to be clear, and the user-mode driver will miss an interrupt which will cause a hang. For eg- when the driver sets inbound ring buffer interrupt mask to 1, the host does not interrupt the guest on the UIO VMBus channel. However, setting the mask does not prevent the host from putting a message in the inbound ring buffer. So let’s assume that happens, the host puts a message into the ring buffer but does not interrupt. Subsequently, the user space code in the guest sets the inbound ring buffer interrupt mask to 0, saying “Hey, I’m ready for interrupts”. User space code then calls pread() to wait for an interrupt. Then one of two things happens: * The host never sends another message. So the pread() waits forever. * The host does send another message. But because there’s already a message in the ring buffer, it doesn’t generate an interrupt. This is the correct behavior, because the host should only send an interrupt when the inbound ring buffer transitions from empty to not-empty. Adding an additional message to a ring buffer that is not empty is not supposed to generate an interrupt on the guest. Since the guest is waiting in pread() and not removing messages from the ring buffer, the pread() waits forever. This could be easily reproduced in hv_fcopy_uio_daemon if we delay setting interrupt mask to 0. Similarly if hv_uio_channel_cb() sets the interrupt_mask to 1, there’s a race condition. Once user space empties the inbound ring buffer, but before user space sets interrupt_mask to 0, the host could put another message in the ring buffer but it wouldn’t interrupt. Then the next pread() would hang. Fix these by removing all instances where interrupt_mask is changed, while keeping the one in set_event() unchanged to enable userspace control the interrupt mask by writing 0/1 to /dev/uioX.

CVSS v3.1

Score 7.5high

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected software

Affected versions
<5.15.0-1100.107~20.04.2<5.15.0-1110.119~20.04.1<5.15.0-1100.109~20.04.1<5.15.0-170.180~20.04.3<5.15.0-1094.97~20.04.1

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 07/30/2026, 16:22:24 UTC

Technical Analysis

The CVE-2025-40048 vulnerability in the Linux kernel's uio_hv_generic driver stems from the driver modifying the interrupt mask concurrently with user space, which should have exclusive control over this mask. This race condition can cause the user-mode driver to miss interrupts because the driver might set the mask bit when it should be clear, leading to a hang in user space processes waiting for interrupts (e.g., pread() calls). The root cause is that the host may place messages in the inbound ring buffer without sending an interrupt if the mask is set, and if user space is not ready or waiting, it can hang indefinitely. The fix removes all driver logic that changes the interrupt mask except for the set_event() function, allowing user space to fully manage the interrupt mask by writing to /dev/uioX.

Potential Impact

This vulnerability can cause denial of service conditions where user-mode processes hang indefinitely waiting for interrupts that never arrive due to the race condition in interrupt mask handling. There is no impact on confidentiality or integrity, but availability is severely affected as processes may become unresponsive.

Mitigation Recommendations

Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves removing driver-side changes to the interrupt mask to let user space fully control it. Until an official patch is available, users should monitor vendor advisories for updates. No alternative mitigations are described in the provided data.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
GHSA-hw92-4498-rgw4
Osv Schema Version
1.4.0
Aliases
["CVE-2025-40048"]
Database Specific Severity
HIGH
Cvss Version
3.1

Threat ID: 6a6b72d79c2644c7f847b20d

Added to database: 07/30/2026, 15:50:47 UTC

Last enriched: 07/30/2026, 16:22:24 UTC

Last updated: 09/10/2026, 19:36:50 UTC

Views: 38

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses