segfault when opening a PEAP wireless connection without stored password
I have a wireless network connection with PEAP configured (on Fedora 35, gnome-control-center 41.x) without a stored password. Instead, it is configured to ask for the password every time. Connecting to the network works fine after upgrading to Fedora 36 (gnome-control-center-42.2-1.fc36.x86_64). But if I try to edit the connection there, gnome-control-center segfaults:
#0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74
#1 0x00007f9bc2cb4f38 in gtk_editable_insert_text (editable=0x55c909f8a920, text=0x0, length=-1, position=0x7ffd0e8b0f64) at ../gtk/gtkeditable.c:504
#2 0x00007f9bc2cb53ae in gtk_editable_set_text (editable=0x55c909f8a920, text=0x0) at ../gtk/gtkeditable.c:617
#3 0x000055c90759e031 in ws_dynamic_wep_new (connection=<optimized out>) at ../panels/network/wireless-security/ws-dynamic-wep.c:253
#4 0x000055c90759e8e9 in finish_setup (self=0x55c907b92860) at ../panels/network/connection-editor/ce-page-security.c:331
[...]
I never tried to edit the connection on Fedora 35. panels/network/wireless-security/ws-dynamic-wep.c:253
does not check if there is (or should be) a password to fill in and instead passes the null pointer to the GTK functions. I think this might happen in panels/network/wireless-security/ws-wpa-eap.c:299
as well (just from grepping for nm_setting_802_1x_get_password.
Configuration of the connection:
- Wireless Security: WPA & WPA2 Enterprise
- Authentication: Protected EAP (PEAP)
- PEAP version: version 1
- Inner authentication: GTC
- Username
- Check the "ask for password every time" box
Cleaned connection details from nmcli
connection.stable-id: -- connection.type: 802-11-wireless connection.interface-name: wlp0s20f3 connection.autoconnect: yes connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.read-only: no connection.permissions: -- connection.zone: -- connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: default connection.mdns: -1 (default) connection.llmnr: -1 (default) connection.dns-over-tls: -1 (default) connection.wait-device-timeout: -1 802-1x.optional: no 802-1x.eap: peap 802-1x.identity: uname 802-1x.anonymous-identity: -- 802-1x.pac-file: -- 802-1x.ca-cert: -- 802-1x.ca-cert-password: -- 802-1x.ca-cert-password-flags: 0 (none) 802-1x.ca-path: -- 802-1x.subject-match: -- 802-1x.altsubject-matches: -- 802-1x.domain-suffix-match: -- 802-1x.domain-match: -- 802-1x.client-cert: -- 802-1x.client-cert-password: -- 802-1x.client-cert-password-flags: 0 (none) 802-1x.phase1-peapver: 1 802-1x.phase1-peaplabel: -- 802-1x.phase1-fast-provisioning: -- 802-1x.phase1-auth-flags: 0x0 (none) 802-1x.phase2-auth: gtc 802-1x.phase2-autheap: -- 802-1x.phase2-ca-cert: -- 802-1x.phase2-ca-cert-password: -- 802-1x.phase2-ca-cert-password-flags: 0 (none) 802-1x.phase2-ca-path: -- 802-1x.phase2-subject-match: -- 802-1x.phase2-altsubject-matches: -- 802-1x.phase2-domain-suffix-match: -- 802-1x.phase2-domain-match: -- 802-1x.phase2-client-cert: -- 802-1x.phase2-client-cert-password: -- 802-1x.phase2-client-cert-password-flags:0 (none) 802-1x.password: -- 802-1x.password-flags: 2 (not saved) 802-1x.password-raw: -- 802-1x.password-raw-flags: 0 (none) 802-1x.private-key: -- 802-1x.private-key-password: -- 802-1x.private-key-password-flags: 0 (none) 802-1x.phase2-private-key: -- 802-1x.phase2-private-key-password: -- 802-1x.phase2-private-key-password-flags:0 (none) 802-1x.pin: -- 802-1x.pin-flags: 0 (none) 802-1x.system-ca-certs: no 802-1x.auth-timeout: 0 802-11-wireless.ssid: Network 802-11-wireless.mode: infrastructure 802-11-wireless.band: -- 802-11-wireless.channel: 0 802-11-wireless.bssid: -- 802-11-wireless.rate: 0 802-11-wireless.tx-power: 0 802-11-wireless.mac-address: -- 802-11-wireless.cloned-mac-address: -- 802-11-wireless.generate-mac-address-mask:-- 802-11-wireless.mac-address-blacklist: -- 802-11-wireless.mac-address-randomization:default 802-11-wireless.mtu: auto 802-11-wireless.seen-bssids: AA:BB:CC:DD:EE:FF 802-11-wireless.hidden: no 802-11-wireless.powersave: 0 (default) 802-11-wireless.wake-on-wlan: 0x1 (default) 802-11-wireless.ap-isolation: -1 (default) 802-11-wireless-security.key-mgmt: wpa-eap 802-11-wireless-security.wep-tx-keyidx: 0 802-11-wireless-security.auth-alg: open 802-11-wireless-security.proto: -- 802-11-wireless-security.pairwise: -- 802-11-wireless-security.group: -- 802-11-wireless-security.pmf: 0 (default) 802-11-wireless-security.leap-username: -- 802-11-wireless-security.wep-key0: -- 802-11-wireless-security.wep-key1: -- 802-11-wireless-security.wep-key2: -- 802-11-wireless-security.wep-key3: -- 802-11-wireless-security.wep-key-flags: 0 (none) 802-11-wireless-security.wep-key-type: unknown 802-11-wireless-security.psk: -- 802-11-wireless-security.psk-flags: 0 (none) 802-11-wireless-security.leap-password: -- 802-11-wireless-security.leap-password-flags:0 (none) 802-11-wireless-security.wps-method: 0x0 (default) 802-11-wireless-security.fils: 0 (default)
Steps to reproduce:
- Open GNOME Settings
- Go to Wi-Fi setting
- While connected to the wireless network configured as above, click on its respective gear icon in the list of networks
- Settings crashes