CVE-2026-64527 in Linuxinfo

Zusammenfassung

von VulDB • 25.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

drm/hyperv: Validierung der VMBus-Paketgröße im Empfangs-Callback

hyperv_receive_sub() liest msg->vid_hdr.type und leitet die Verarbeitung in einen von vier Nachrichten-Typ-Zweigen weiter, ohne zu wissen, wie viele Bytes der Host in hv->recv_buf geschrieben hat. Der Abschlusspfad führt anschließend memcpy(hv->init_buf, msg, VMBUS_MAX_PACKET_SIZE) aus, sodass der Verbraucher, der auf wait_for_completion_timeout() wartet, bis zu 16 KiB Reste einer vorherigen Nachricht als Antwort-Payload lesen kann.

bytes_recvd wird an hyperv_receive_sub() übergeben und jedes Paket, das den Pipe- + Synthvid-Header nicht vollständig abdeckt, wird zurückgewiesen. Eine einzige switch-Anweisung auf msg->vid_hdr.type berechnet anschließend die typspezifische Payload-Größe: Die drei Abschluss steuernden Typen (SYNTHVID_VERSION_RESPONSE, SYNTHVID_RESOLUTION_RESPONSE, SYNTHVID_VRAM_LOCATION_ACK) fallen in einen gemeinsamen Exit-Zweig, der diese Größe vor memcpy/complete erfordert, während SYNTHVID_FEATURE_CHANGE seine eigene Payload validiert und zurückkehrt, bevor is_dirt_needed gelesen wird. Unbekannte Typen werden verworfen.

SYNTHVID_RESOLUTION_RESPONSE ist variabler Länge: Der Host füllt resolution_count-Einträge auf, nicht das gesamte SYNTHVID_MAX_RESOLUTION_COUNT-Array. Zuerst wird das feste Präfix validiert, damit resolution_count gelesen werden kann; dieser Wert wird gegen das Array begrenzt und es wird nur ein array-großes Segment benötigt, sodass die kürzeren Antworten des Hosts akzeptiert werden.

Der Sub-Handler wird nur ausgeführt, wenn vmbus_recvpacket() erfolgreich zurückgegeben hat. Die memcpy-Länge ist bytes_recvd, welches bei einem erfolgreichen Empfang nur durch VMBUS_MAX_PACKET_SIZE begrenzt ist; bei -ENOBUFS meldet vmbus_recvpacket() stattdessen die erforderliche Länge, welche hv->recv_buf überschreiten kann, sodass das Kopieren von bytes_recvd über die 16-KiB-Puffer hinaus lesen und schreiben würde. Die Bedingung des erfolgreichen Rückgabewerts hält den Kopiervorgang begrenzt. Der Pfad mit einem Nicht-Null-Rückgabewert ist selbst ein Fall einer fehlerhaften Nachricht und wird nun protokolliert, anstatt stillschweigend übersprungen zu werden; eine Kanalwiederherstellung wird nicht versucht.

Abgelehnte Pakete werden über drm_err_ratelimited() gemeldet, anstatt sie stillschweigend zu verwerfen, was dem CoCo-härtungsmuster in hv_kvp_onchannelcallback() entspricht.

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

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

25.07.2026

Moderieren

akzeptiert

Eintrag

VDB-383050

CPE

bereit

EPSS

0.00161

KEV

nein

Aktivitäten

very low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!