Cannot connect via IPv6: "invalid cbClientAddress value: 82"

Bug #1999595 reported by Colin Cogle
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
freerdp2 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I am trying to access a remote computer that does not have a publicly-routable IPv4 address. Let's say that MyHostName.MyDomain.com has an IP address of 2001:db8::1. If you look it up in DNS, you get no A records and one AAAA record.

Using both Remmina and gnome-connections, I am unable to connect to the RDP servers MyHostName.MyDomain.com, 2001:db8::1, nor [2001:db8::1]:3389. Tonight, I'm on the same LAN as this server; I tried connecting to its LAN IPv4 address, and that worked perfectly.

I used `nmap` and confirmed that TCP 3389 is open over IPv4 and IPv6 (the latter available over the WAN, too), and `ss` confirms that `gnome-remote-desktop` is listening for IPv4 and IPv6 connections.

## Server logs

```
Dec 13 21:37:18 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:18:358] [10519:12845] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Dec 13 21:37:18 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:18:459] [10519:12845] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Dec 13 21:37:19 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:063] [10519:12845] [ERROR][com.freerdp.core.info] - protocol error: invalid cbClientAddress value: 82
Dec 13 21:37:19 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:063] [10519:12845] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_SECURE_SETTINGS_EXCHANGE - rdp_recv_client_info() fail
Dec 13 21:37:19 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:063] [10519:12845] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
Dec 13 21:37:19 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:294] [10519:12863] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Dec 13 21:37:19 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:395] [10519:12863] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Dec 13 21:37:20 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:998] [10519:12863] [ERROR][com.freerdp.core.info] - protocol error: invalid cbClientAddress value: 82
Dec 13 21:37:20 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:998] [10519:12863] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_SECURE_SETTINGS_EXCHANGE - rdp_recv_client_info() fail
Dec 13 21:37:20 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:998] [10519:12863] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
Dec 13 21:38:21 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:835] [10519:12908] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Dec 13 21:38:21 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:936] [10519:12908] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:939] [10519:12908] [ERROR][com.freerdp.core.info] - protocol error: invalid cbClientAddress value: 82
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:939] [10519:12908] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_SECURE_SETTINGS_EXCHANGE - rdp_recv_client_info() fail
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:939] [10519:12908] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:181] [10519:12943] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:282] [10519:12943] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:122] [10519:12793] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:122] [10519:12793] [INFO][com.freerdp.core.connection] - Server Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:122] [10519:12793] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:363] [10519:12793] [INFO][com.freerdp.core.connection] - Accepted client: thinkpad
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:363] [10519:12793] [INFO][com.freerdp.core.connection] - Accepted channels:
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:363] [10519:12793] [INFO][com.freerdp.core.gcc] - Active rdp encryption level: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:45:363] [10519:12793] [INFO][com.freerdp.core.gcc] - Selected rdp encryption method: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:094] [10519:12816] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:094] [10519:12816] [INFO][com.freerdp.core.connection] - Server Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:094] [10519:12816] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:323] [10519:12816] [INFO][com.freerdp.core.connection] - Accepted client: thinkpad
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:323] [10519:12816] [INFO][com.freerdp.core.connection] - Accepted channels:
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:323] [10519:12816] [INFO][com.freerdp.core.gcc] - Active rdp encryption level: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:36:46:323] [10519:12816] [INFO][com.freerdp.core.gcc] - Selected rdp encryption method: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:18:331] [10519:12845] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:18:331] [10519:12845] [INFO][com.freerdp.core.connection] - Server Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:18:331] [10519:12845] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:560] [10519:12845] [INFO][com.freerdp.core.connection] - Accepted client: thinkpad
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:560] [10519:12845] [INFO][com.freerdp.core.connection] - Accepted channels:
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:560] [10519:12845] [INFO][com.freerdp.core.gcc] - Active rdp encryption level: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:560] [10519:12845] [INFO][com.freerdp.core.gcc] - Selected rdp encryption method: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:273] [10519:12863] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:273] [10519:12863] [INFO][com.freerdp.core.connection] - Server Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:19:273] [10519:12863] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:496] [10519:12863] [INFO][com.freerdp.core.connection] - Accepted client: thinkpad
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:496] [10519:12863] [INFO][com.freerdp.core.connection] - Accepted channels:
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:496] [10519:12863] [INFO][com.freerdp.core.gcc] - Active rdp encryption level: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:37:20:496] [10519:12863] [INFO][com.freerdp.core.gcc] - Selected rdp encryption method: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:810] [10519:12908] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:810] [10519:12908] [INFO][com.freerdp.core.connection] - Server Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:810] [10519:12908] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:035] [10519:12908] [INFO][com.freerdp.core.connection] - Accepted client: thinkpad
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.connection] - Accepted channels:
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.connection] - rdpdr
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.connection] - rdpsnd
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.connection] - cliprdr
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.connection] - drdynvc
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.gcc] - Active rdp encryption level: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:21:036] [10519:12908] [INFO][com.freerdp.core.gcc] - Selected rdp encryption method: NONE
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:160] [10519:12943] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:160] [10519:12943] [INFO][com.freerdp.core.connection] - Server Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:22 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:160] [10519:12943] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:1 TLS:0 RDP:0
Dec 13 21:38:23 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:22:383] [10519:12943] [INFO][com.freerdp.core.connection] - Accepted client: t[21:38:23:286] [10519:12943] [ERROR][com.freerdp.core.info] - protocol error: invalid cbClientAddress value: 82
Dec 13 21:38:23 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:23:286] [10519:12943] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_SECURE_SETTINGS_EXCHANGE - rdp_recv_client_info() fail
Dec 13 21:38:23 MyHostName gnome-remote-desktop-daemon[10519]: [21:38:23:286] [10519:12943] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
```

## Computers
* Server: Ubuntu 22.04.1 LTS, gnome-remote-desktop 42.4-0ubuntu1
* Client: Ubuntu 22.04.1 LTS, tried both Remmina 1.4.25+dfsg-1 and gnome-connections 42.1.2-1

## Networks
* Both computers have working IPv4 and IPv6 addresses in a dual-stack configuration, and both can reach the Internet over either address family.
* The remote computer is behind CGNAT, so IPv6 is my only option.
* The remote computer has UFW rules allowing 3389/tcp and 3389/udp, over both IPv4 and IPv6.
* The remote firewall permits IPv6 traffic on TCP 22 and TCP 3389 to the remote server. SSH works fine.

Tags: ipv6 rdp
Revision history for this message
Pascal Nowack (pnowack) wrote :

This is not an issue in g-r-d, but a client issue. Basically, the `Extended Info Packet` sent by the clients here contains invalid data (invalid `clientAddress` field).
Both clients, that you use here are FreeRDP based clients. The issue was fixed upstream in https://github.com/FreeRDP/FreeRDP/pull/8538. It will be part of the next stable release (which will either be 2.9.1 or 2.10.0).

It is now Ubuntus responsibility to actually ship the updates.

affects: gnome-remote-desktop (Ubuntu) → freerdp2 (Ubuntu)
Changed in freerdp2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Colin Cogle (signofzeta) wrote :

Ah, thank you! That makes sense. I’ll wait for the updates to reach the repositories.

Revision history for this message
Pascal Nowack (pnowack) wrote (last edit ):

Hey Colin,

Sorry to inform you, that the update is very unlikely to reach any Ubuntu distro release before 23.04.

Why? The problem is the Ubuntu Desktop Team and Ubuntus SRU team. When a distribution is released (e.g. 22.04, 22.10, etc.), all of its pkgs go through a certain process for an update (https://wiki.ubuntu.com/StableReleaseUpdates).

The Ubuntu SRU team wants for every line change in an update a test (except GNOME pkgs), and the Ubuntu Desktop Team is too lazy to provide one (would also be hard, because Ubuntu does not contribute to g-r-d upstream or FreeRDP in any way, so they don't have any knowledge here).

The SRU process therefore actually achieves the opposite, of what it is meant to be. The current upstream version is 2.9.0 (contains lots of various fixes (details in the changelogs)), but as you might have noticed 22.04 has 2.6.1.

There is unfortunately nothing I can do further here (already talked to the Ubuntu Desktop Team).
I am part of FreeRDP upstream and g-r-d upstream, I noticed your issue, because I sometimes look into downstream issue trackers, took care of the issue with others from FreeRDP upstream (your log was btw helpful in combination with the mention of the clients!), we pushed a fix, and that's all we can do here.

Revision history for this message
Sebastien Bacher (seb128) wrote :

@Pascal

> the Ubuntu Desktop Team is too lazy to provide one

Those statements are not welcome here, see the code of conduct - http://www.ubuntu.com/project/about-ubuntu/conduct. Bug reports are handled by humans, the majority of whom are volunteers, so please bear this in mind.

As I've explained to you on IRC yesterday, new versions/series carry risk of regression. The Ubuntu policy has high requirements for stable updates because we believe that breaking a working system has a more severe impact than having something which hadn't been working from day 0 not resolved (nobody is relying on it and it's not going to stop production since it never worked).

You might disagree with the policy but please let's not get into personal opinions. There are other distributions for those who prefer updates in risk of getting regressions. It's also possible to use non LTS Ubuntu series.

Going back to the issue, it's not a question of being lazy but just to set priorities. The bug has been reported once, it is an issue but in a non common configuration. It would be nice to have that one and others fixed but we have a small teams and lot of components to maintain. We might eventually get to it but probably not at this point unless we see an higher number of users impacted.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.