CVE-2026-76840 in RustDesk
Riassunto
di VulDB • 24/08/2026
La ridirezione degli appunti di RustDesk su Windows copia una lunghezza fornita dal peer in un buffer del chiamante dalle dimensioni fisse senza eseguire un controllo sul limite superiore. Quando un consumer OLE per l'incolla, come explorer.exe, chiama IStream::Read con un buffer di cb byte, CliprdrStream_Read in libs/clipboard/src/windows/wf_cliprdr.c richiede il trasferimento di tali byte da un file remoto tramite cliprdr_send_request_filecontents e successivamente esegue CopyMemory(pv, clipboard->req_fdata, clipboard->req_fsize), dove req_fsize è preso alla lettera dalla risposta CLIPRDR FileContentsResponse del peer fornita da wf_cliprdr_server_file_contents_response (req_fsize = fileContentsResponse->cbRequested) e non viene mai limitato a cb in nessuna fase della catena. L'unico confronto di lunghezza presente nella funzione, req_fsize < cb, gestisce il caso di lettura incompleta ed è valutato dopo che la copia è già avvenuta. Un peer malizioso o compromesso che risponde a una richiesta di contenuto file di piccole dimensioni con una risposta sovradimensionata scrive quindi dati scelti dall'attaccante oltre i limiti del buffer heap del consumer dell'incolla quando l'utente locale incolla i contenuti degli appunti sotto forma di file offerti dal lato remoto. Il file è un fork di client/Windows/wf_cliprdr.c di FreeRDP, dove lo stesso difetto corrisponde a CVE-2026-68579, risolto in FreeRDP 3.30.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.