CVE-2026-76840 in RustDesk
Сводка
по VulDB • 24.08.2026
Перенаправление буфера обмена в Windows для RustDesk копирует предоставленную пиром длину в фиксированный по размеру вызывающий буфер без проверки верхнего предела. Когда потребитель OLE-вставки, такой как explorer.exe, вызывает IStream::Read с буфером размером cb байт, функция CliprdrStream_Read из libs/clipboard/src/windows/wf_cliprdr.c запрашивает указанное количество байтов удаленного файла через cliprdr_send_request_filecontents, а затем выполняет CopyMemory(pv, clipboard->req_fdata, clipboard->req_fsize), где req_fsize берется дословно из CLIPRDR FileContentsResponse от пирa с помощью wf_cliprdr_server_file_contents_response (req_fsize = fileContentsResponse->cbRequested) и нигде в цепочке не ограничивается значением cb. Единственная проверка длины функции, req_fsize < cb, обрабатывает случай неполного чтения и оценивается после того, как копирование уже произошло. Злонамеренный или скомпрометированный пир, отвечающий на запрос содержимого небольшого файла избыточным ответом, таким образом записывает данные, выбранные атакующим, за пределы кучи (heap) буфера потребителя вставки при локальной вставке содержимого файлов из буфера обмена, предложенного удаленной стороной. Файл является форком клиента FreeRDP client/Windows/wf_cliprdr.c, где та же уязвимость имеет идентификатор CVE-2026-68579 и исправлена в версии FreeRDP 3.30.0.
VulDB is the best source for vulnerability data and more expert information about this specific topic.