Skip to content

fix: Reduce kill switch auth requirements#10

Open
SRugina wants to merge 1 commit intoProtonVPN:stablefrom
SRugina:feat/reduce-killswitch-auth
Open

fix: Reduce kill switch auth requirements#10
SRugina wants to merge 1 commit intoProtonVPN:stablefrom
SRugina:feat/reduce-killswitch-auth

Conversation

@SRugina
Copy link

@SRugina SRugina commented Feb 8, 2026

To mitigate CVE-2025-9615, NetworkManager from 1.57.1 (at least) will
remove the modify_system build option (a new option is available for
backwards compatibility but is discouraged).
See https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2324

Thus, users of Debian, NixOS, & Tumbleweed already experience constant
polkit prompts, and others are likely to follow since NetworkManager
discourages keeping the current behaviour in newer versions.

When a non-permanent kill switch is enabled ("Standard" and/or IPv6)
without modify_system, a polkit prompt appears for every manual
(dis)connection of the VPN (except within auth timeout of previous
prompt). This is because editing system connections uses the
org.freedesktop.NetworkManager.settings.modify.system polkit action,
which without modify_system defaults to auth_admin_keep.

To fix this, a user connection is sufficient as on boot it is acceptable
to wait for login like the VPN connection (also a user connection). When
the user's regular connection is also a user connection, there will be
no polkit prompt to manually (dis)connect the VPN.

Only the permanent ("Advanced") kill switch needs to be a system
connection so that there is no leak before user login on boot, and since
it's permanent (written to disk) the polkit prompt is only required when
enabling/disabling the permanent kill switch setting and not on every
manual (dis)connection of the VPN.

@SRugina
Copy link
Author

SRugina commented Feb 19, 2026

@calexandru2018 just bringing attention to this PR. To be clear, users of Debian, NixOS, & Tumbleweed already experience the constant prompts, and others are likely to follow since NetworkManager discourages keeping the current behaviour in newer versions.

To mitigate CVE-2025-9615, NetworkManager from 1.57.1 (at least) will
remove the modify_system build option (a new option is available for
backwards compatibility but is discouraged).
See https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2324

Thus, users of Debian, NixOS, & Tumbleweed already experience constant
polkit prompts, and others are likely to follow since NetworkManager
discourages keeping the current behaviour in newer versions.

When a non-permanent kill switch is enabled ("Standard" and/or IPv6)
without modify_system, a polkit prompt appears for every manual
(dis)connection of the VPN (except within auth timeout of previous
prompt). This is because editing system connections uses the
`org.freedesktop.NetworkManager.settings.modify.system` polkit action,
which without modify_system defaults to `auth_admin_keep`.

To fix this, a user connection is sufficient as on boot it is acceptable
to wait for login like the VPN connection (also a user connection). When
the user's regular connection is also a user connection, there will be
no polkit prompt to manually (dis)connect the VPN.

Only the permanent ("Advanced") kill switch needs to be a system
connection so that there is no leak before user login on boot, and since
it's permanent (written to disk) the polkit prompt is only required when
enabling/disabling the permanent kill switch setting and not on every
manual (dis)connection of the VPN.
@SRugina SRugina force-pushed the feat/reduce-killswitch-auth branch from 495ba5b to 16d17c3 Compare March 5, 2026 21:56
@SRugina SRugina changed the title feat: Reduce kill switch auth requirements fix: Reduce kill switch auth requirements Mar 5, 2026
SRugina added a commit to SRugina/com.protonvpn.www that referenced this pull request Mar 5, 2026
Upstream is unresponsive,
see ProtonVPN/python-proton-vpn-api-core#10
copied below:

To mitigate CVE-2025-9615, NetworkManager from 1.57.1 (at least) will
remove the modify_system build option (a new option is available for
backwards compatibility but is discouraged).
See https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2324

Thus, users of Debian, NixOS, & Tumbleweed already experience constant
polkit prompts, and others are likely to follow since NetworkManager
discourages keeping the current behaviour in newer versions.

When a non-permanent kill switch is enabled ("Standard" and/or IPv6)
without modify_system, a polkit prompt appears for every manual
(dis)connection of the VPN (except within auth timeout of previous
prompt). This is because editing system connections uses the
`org.freedesktop.NetworkManager.settings.modify.system` polkit action,
which without modify_system defaults to `auth_admin_keep`.

To fix this, a user connection is sufficient as on boot it is acceptable
to wait for login like the VPN connection (also a user connection). When
the user's regular connection is also a user connection, there will be
no polkit prompt to manually (dis)connect the VPN.

Only the permanent ("Advanced") kill switch needs to be a system
connection so that there is no leak before user login on boot, and since
it's permanent (written to disk) the polkit prompt is only required when
enabling/disabling the permanent kill switch setting and not on every
manual (dis)connection of the VPN.
SRugina added a commit to SRugina/com.protonvpn.www that referenced this pull request Mar 5, 2026
Upstream is unresponsive,
see ProtonVPN/python-proton-vpn-api-core#10
copied below:

To mitigate CVE-2025-9615, NetworkManager from 1.57.1 (at least) will
remove the modify_system build option (a new option is available for
backwards compatibility but is discouraged).
See https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2324

Thus, users of Debian, NixOS, & Tumbleweed already experience constant
polkit prompts, and others are likely to follow since NetworkManager
discourages keeping the current behaviour in newer versions.

When a non-permanent kill switch is enabled ("Standard" and/or IPv6)
without modify_system, a polkit prompt appears for every manual
(dis)connection of the VPN (except within auth timeout of previous
prompt). This is because editing system connections uses the
`org.freedesktop.NetworkManager.settings.modify.system` polkit action,
which without modify_system defaults to `auth_admin_keep`.

To fix this, a user connection is sufficient as on boot it is acceptable
to wait for login like the VPN connection (also a user connection). When
the user's regular connection is also a user connection, there will be
no polkit prompt to manually (dis)connect the VPN.

Only the permanent ("Advanced") kill switch needs to be a system
connection so that there is no leak before user login on boot, and since
it's permanent (written to disk) the polkit prompt is only required when
enabling/disabling the permanent kill switch setting and not on every
manual (dis)connection of the VPN.
@SRugina
Copy link
Author

SRugina commented Mar 6, 2026

@jllaneras just bringing attention to this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant