Public bug reported:
## Summary
After the security update freerdp3 3.31.0+dfsg-0ubuntu0.26.04.1 ->
3.32.0+dfsg-0ubuntu0.26.04.1
(LP: #2168564), gnome-remote-desktop's RDP session freezes as soon as the
Windows RDP client
has files on its clipboard and the GNOME session requests the clipboard file
list (e.g. opening
Nautilus). The main thread of `gnome-remote-desktop-daemon --handover` spins at
100% CPU inside
libfreerdp3 and never recovers, even after the client disconnects. Reconnecting
lands on the
GDM greeter until the handover service is restarted.
## Environment
- Ubuntu 26.04.1 LTS, GNOME on Wayland, kernel 7.0.0-34-generic
- gnome-remote-desktop 50.2-0ubuntu0.1 (remote login / handover)
- libfreerdp3-3, libfreerdp-server3-3, libwinpr3-3: 3.32.0+dfsg-0ubuntu0.26.04.1
(upgraded from 3.31.0+dfsg-0ubuntu0.26.04.1 on 2026-09-30 by unattended
upgrades)
- Client: Windows "Remote Desktop Connection" (mstsc.exe), clipboard
redirection enabled.
Reproduced from two different Windows machines.
## Steps to reproduce
1. Connect to the GNOME session with mstsc, clipboard redirection enabled.
2. On the Windows side, copy one or more files (Explorer, Ctrl+C).
3. In the remote GNOME session, open Files (Nautilus) or otherwise request the
clipboard.
Expected: the file list is offered on the GNOME clipboard.
Actual: the session freezes immediately; `gnome-remote-desktop-daemon
--handover` uses 100% CPU
on its main thread indefinitely.
Disabling clipboard redirection in the client avoids the problem. The setup had
worked for months
and started failing the same day the 3.32.0 update was installed. Downgrading
to 3.31.0 has not
been tested (it is no longer in the archive).
## Backtrace of the spinning thread (gdb attach, no debug symbols)
```
Thread 1 (Thread 0x76d0abc04540 (LWP 77545) "gnome-remote-de"):
#0 0x000076d0ae03a2a0 in winpr_wcsnchr@plt () from
/usr/lib/x86_64-linux-gnu/libfreerdp3.so.3
#1 0x000076d0ae04870d in cliprdr_read_filedescriptor () from
/usr/lib/x86_64-linux-gnu/libfreerdp3.so.3
#2 0x000076d0ae048953 in cliprdr_parse_file_list () from
/usr/lib/x86_64-linux-gnu/libfreerdp3.so.3
#3 0x000055fb2185fb05 in ?? ()
#4 0x000076d0aec9ac1b in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x000076d0aec9c257 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x000076d0aec9c443 in g_main_context_iteration () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x000076d0aeb48acd in g_application_run () from
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#8 0x000055fb2183fa96 in ?? ()
```
Combined with the 100% CPU usage, this suggests an infinite loop while scanning
the file name
in `cliprdr_read_filedescriptor` (single gdb sample).
## gnome-remote-desktop log (WLOG_FILTER=com.freerdp.channels.cliprdr*:TRACE,
G_MESSAGES_DEBUG=all)
```
07:11:48.230444 [RDP.CLIPRDR] Client advertised unknown format: id: 49275,
name: FileContents
07:11:48.230464 [RDP.CLIPRDR] Client advertised unknown format: id: 49535,
name: Preferred DropEffect
07:11:48.230472 [RDP.CLIPRDR] Client advertised unknown format: id: 49553,
name: ZoneIdentifier
07:11:48.230637 [FUSE Clipboard] Lazily clearing all selections with clipDataId
07:11:48.230664 Clipboard[SetSelection]: Update contains mime type
x-special/gnome-copied-files
07:11:48.230673 Clipboard[SetSelection]: Update contains mime type text/uri-list
07:11:48.233510 Clipboard[SelectionTransfer]: Requesting data from clients
clipboard (mime type: x-special/gnome-copied-files, serial: 2)
07:11:48.233530 [RDP.CLIPRDR] Locking clients clipboard data with clipDataId 0
07:11:48.233554 [RDP.CLIPRDR] Sent FormatDataRequest for mime type
x-special/gnome-copied-files
07:11:48.233598 [RDP.CLIPRDR] Queueing mime type content request for mime type
x-special/gnome-copied-files with serial 3
<session frozen from here; main thread spinning>
07:12:46.034410 [RDP.CLIPRDR] Wrong message sequence: Got new format list
without being able to response to last update first
```
Client capabilities: long format names, stream file clip, file clip no file
paths, can lock clip
data, huge file support.
## Workaround
Disable clipboard redirection in the RDP client. Recover a frozen session with
`systemctl --user restart gnome-remote-desktop-handover.service`.
** Affects: freerdp3 (Ubuntu)
Importance: Undecided
Status: New
** Summary changed:
- nome-remote-desktop hangs (100% CPU) in cliprdr_parse_file_list when an RDP
client copies files
+ gnome-remote-desktop hangs (100% CPU) in cliprdr_parse_file_list when an RDP
client copies files
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169143
Title:
gnome-remote-desktop hangs (100% CPU) in cliprdr_parse_file_list when
an RDP client copies files
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/freerdp3/+bug/2169143/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs