CVE-2026-76840 in RustDesk
要約
〜によって VulDB • 2026年08月24日
RustDeskのWindowsクリップボードリダイレクト機能は、ピアから提供された長さを上限チェックなしで固定サイズの呼び出し側バッファにコピーします。explorer.exeなどのOLE貼り付けコンシューマがIStream::Readをcbバイトのバッファで呼び出すと、libs/clipboard/src/windows/wf_cliprdr.c内のCliprdrStream_Readはcliprdr_send_request_filecontentsを通じてリモートファイルからその数のバイトを取得し、その後CopyMemory(pv, clipboard->req_fdata, clipboard->req_fsize)を実行します。ここでreq_fsizeはwf_cliprdr_server_file_contents_responseによってピアのCLIPRDR FileContentsResponseからそのまま取得され(req_fsize = fileContentsResponse->cbRequested)、チェーン内のどこでもcbに制限されることはありません。関数の唯一の長さ比較であるreq_fsize < cbは短読み込みの場合を処理するものですが、コピーが既に発生した後に評価されます。したがって、小さなファイル内容の読み取りに対して過大な応答を行う悪意のあるまたは侵害されたピアが存在する場合、ローカルユーザーがリモート側から提供されたクリップボードファイル内容を貼り付けるときに、攻撃者が選択したデータが貼り付けコンシューマのヒープバッファの末尾を超えて書き込まれます。このファイルはFreeRDPのclient/Windows/wf_cliprdr.cのフォークであり、同様の欠陥はCVE-2026-68579として記録されており、FreeRDP 3.30.0で修正されています。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.