Linux Kernel up to 7.0.11 drm/hyperv hyperv_receive_sub bytes_recvd buffer overflow

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
9.5$5k-$25k3.10-

Summaryinfo

A vulnerability labeled as very critical has been found in Linux Kernel up to 7.0.11. This affects the function hyperv_receive_sub of the file drm/hyperv of the component drm/hyperv. Executing a manipulation of the argument bytes_recvd can lead to buffer overflow. This vulnerability is registered as CVE-2026-64527. It is possible to launch the attack remotely. No exploit is available.

Detailsinfo

A vulnerability classified as very critical was found in Linux Kernel up to 7.0.11. This vulnerability affects the function hyperv_receive_sub of the file drm/hyperv of the component drm/hyperv. The manipulation of the argument bytes_recvd with an unknown input leads to a buffer overflow vulnerability. The CWE definition for the vulnerability is CWE-120. The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow. As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:

In the Linux kernel, the following vulnerability has been resolved: drm/hyperv: validate VMBus packet size in receive callback hyperv_receive_sub() reads msg->vid_hdr.type and dispatches into one of four message-type branches without knowing how many bytes the host wrote into hv->recv_buf. The completion path then runs memcpy(hv->init_buf, msg, VMBUS_MAX_PACKET_SIZE), so the consumer that wakes on wait_for_completion_timeout() can read up to 16 KiB of residue from a prior message as if it were the response payload. Pass bytes_recvd into hyperv_receive_sub() and reject any packet that does not cover the pipe + synthvid header. A single switch on msg->vid_hdr.type then computes the type-specific payload size: the three completion-driving types (SYNTHVID_VERSION_RESPONSE, SYNTHVID_RESOLUTION_RESPONSE, SYNTHVID_VRAM_LOCATION_ACK) fall through to a shared exit that requires that size before memcpy/complete, while SYNTHVID_FEATURE_CHANGE validates its own payload and returns before reading is_dirt_needed. Unknown types are dropped. SYNTHVID_RESOLUTION_RESPONSE is variable length: the host fills resolution_count entries, not the full SYNTHVID_MAX_RESOLUTION_COUNT array. Validate the fixed prefix first so resolution_count can be read, bound it against the array, then require only the count-sized array, so the shorter responses the host actually sends are accepted. Only run the sub-handler when vmbus_recvpacket() returned success. The memcpy length is bytes_recvd, which is bounded by VMBUS_MAX_PACKET_SIZE only on a successful receive; on -ENOBUFS vmbus_recvpacket() instead reports the required length, which can exceed hv->recv_buf, so copying bytes_recvd would read and write past the 16 KiB buffers. Gating on the success return keeps the copy bounded. The nonzero-return path is itself a malformed-message case and is now logged rather than silently skipped; channel recovery is not attempted. Rejected packets are reported via drm_err_ratelimited() rather than silently dropped, matching the CoCo-hardened pattern in hv_kvp_onchannelcallback().

The advisory is available at git.kernel.org. This vulnerability was named CVE-2026-64527 since 07/19/2026. The exploitation appears to be easy. The attack can be initiated remotely. Technical details are known, but there is no available exploit. The structure of the vulnerability defines a possible price range of USD $5k-$25k at the moment (estimation calculated on 07/25/2026).

Upgrading to version 5.15.210, 6.1.176, 6.6.143, 6.12.93, 6.18.35 or 7.0.12 eliminates this vulnerability. Applying the patch 57d5d697642e05d5dd2d40660817765943dd709f/f5251226551bfec98c4705641b6f94ff1f238d91/049a6b474823049fe60212f25f26e4b30f44ee8f/588c84b461393ff1998ac7b97b04f953f642e0df/164dc7bf17609340233c6bf4f66bb7c7008a0511/c8974d96b6a5496f33dc69a3ce28a7bf5078def4/7f87763f47a3c22fb50265a00619ef10f2394b18 is able to eliminate this problem.

The vulnerability is also documented in the vulnerability database at EUVD (EUVD-2026-49039). If you want to get best quality of vulnerability data, you may have to visit VulDB.

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 9.9
VulDB Meta Temp Score: 9.5

VulDB Base Score: 9.9
VulDB Temp Score: 9.5
VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: Buffer overflow
CWE: CWE-120 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physical: No
Local: No
Remote: Yes

Availability: 🔒
Status: Not defined

EPSS Score: 🔒
EPSS Percentile: 🔒

Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 5.15.210/6.1.176/6.6.143/6.12.93/6.18.35/7.0.12
Patch: 57d5d697642e05d5dd2d40660817765943dd709f/f5251226551bfec98c4705641b6f94ff1f238d91/049a6b474823049fe60212f25f26e4b30f44ee8f/588c84b461393ff1998ac7b97b04f953f642e0df/164dc7bf17609340233c6bf4f66bb7c7008a0511/c8974d96b6a5496f33dc69a3ce28a7bf5078def4/7f87763f47a3c22fb50265a00619ef10f2394b18

Timelineinfo

07/19/2026 CVE reserved
07/25/2026 +6 days Advisory disclosed
07/25/2026 +0 days VulDB entry created
07/25/2026 +0 days VulDB entry last update

Sourcesinfo

Vendor: kernel.org

Advisory: git.kernel.org
Status: Confirmed

CVE: CVE-2026-64527 (🔒)
GCVE (CVE): GCVE-0-2026-64527
GCVE (VulDB): GCVE-100-383050
EUVD: 🔒

Entryinfo

Created: 07/25/2026 12:09
Updated: 07/25/2026 22:52
Changes: 07/25/2026 12:09 (61), 07/25/2026 22:52 (1)
Complete: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!