Old libnm client library crashes if talking to a new NetworkManager with a new key_mgmt type
If an older version of libnm is used in a container or similar environment that shares the D-Bus system bus with the host, it might end up talking to a newer NetworkManager service on the host system. If a wireless network has a newer key_mgmt
type than the ones supported by the client library, then need_secrets()
in the client library crashes with an assertion failure.
Obviously this can only be reproduced with old/unsupported versions of libnm right now, but it looks as though the current libnm would have the same issue when talking to an even newer, future version of the NetworkManager service. It would be better to log a warning but keep going without a crash.
Steam currently crashes for this reason when connected to WPA3-Personal (SAE) APs: https://github.com/ValveSoftware/steam-for-linux/issues/7832. It cannot necessarily use the host libnm because the host libnm will usually be 64-bit, but for historical reasons the Linux Steam client is a 32-bit binary.
I'm trying a patch against Steam's old version of libnm to resolve this. If it's successful, I'll propose a merge request to avoid this happening again with future versions of NM.