proxmox-backup/www
Wolfgang Bumiller 28b9f84eb7 add 'confirmation-password' parameter to user password change API/UI
Similar to a recent change in pve-access-control [0], add a new
'confirmation-password' parameter to the change-password endpoint and
require non-root users to confirm their passwords.

Doing so avoids that an attacker that has direct access to a computer
where a user is logged in to the PVE interface can change the password
of said user and thus either prolong their possibility to attack,
and/or create a denial of service situation, where the original user
cannot login into the PVE host using their old credentials.

Note that this might sound worse than it is, as for this attack to
work the attacker needs either:
- physical access to an unlocked computer that is currently logged in
  to a PVE host
- having taken over such a computer already through some unrelated
  vulnerability

As these required pre-conditions are pretty big implications, which
allow (temporary) access to all of the resources (including PVE ones)
that the user can control, we see this as slight improvement that
won't hurt, might protect one in some specific cases that is simply
too cheap not to do.

For now we avoid additional confirmation through a second factor, as
that is a much higher complexity without that much gain, and some
forms like (unauthenticated) button press on a WebAuthn token or the
TOTP code would be easy to circumvent in the physical access case and
in the local access case one might be able to MITM themselves too.

[0]: https://git.proxmox.com/?p=pve-access-control.git;a=commit;h=5bcf553e3a193a537d92498f4fee3c23e22d1741

Reported-by: Wouter Arts <security@wth-security.nl>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
 [ TL: Extend ocmmit message, squash in UI change ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-25 14:20:16 +01:00
..
button ui: administration: set icons for tabs 2020-10-31 09:11:11 +01:00
config add 'confirmation-password' parameter to user password change API/UI 2024-03-25 14:20:16 +01:00
css ui: renamed pmx-faded to pmx-opacity-75 2023-10-13 17:17:32 +02:00
dashboard ui: dashboard: show tape backups/restores on task summary 2023-05-17 11:23:54 +02:00
data ui: running tasks: update limit to 100 2020-07-11 12:53:32 +02:00
datastore ui: prune: fix sending invalid parameters 2024-03-07 10:30:40 +01:00
form ui: Show if Filter includes or excludes 2024-01-10 10:13:45 +01:00
images ui: tape drive icon: invert 2021-03-08 15:51:49 +01:00
panel ui: prune: fix sending invalid parameters 2024-03-07 10:30:40 +01:00
tape ui: tape: transfer: increase timeout to 3 minutes 2024-03-07 15:08:04 +01:00
window ui: re-use password edit window from widget-toolkit 2024-03-25 14:10:15 +01:00
Application.js ui: app: fix openID helper usage and rework style 2021-07-03 23:12:08 +02:00
Dashboard.js tree-wide: fix various typos 2023-11-29 18:32:07 +01:00
DirectoryList.js ui: add Remove button for DirectoryList 2023-11-07 10:32:05 +01:00
index.hbs proxy/ui: implement theme switcher 2023-03-09 08:04:18 +01:00
LoginView.js ui: fix default language display 2022-09-12 09:42:01 +02:00
MainView.js ui: add fingerprint also to the 'show connection information' window 2023-11-29 17:12:41 +01:00
Makefile ui: re-use password edit window from widget-toolkit 2024-03-25 14:10:15 +01:00
NavigationTree.js ui: datastore: override maintenance icon if currently destroying 2022-11-28 15:56:39 +01:00
NodeNotes.js fix #3067: ui: add a separate notes view for longer markdown notes 2022-04-25 08:39:39 +02:00
OnlineHelpInfo.js ui: update online help info 2023-11-28 17:34:56 +01:00
Schema.js ui: add MetricServerView and use it 2022-06-13 10:01:05 +02:00
ServerAdministration.js ui: server administration: repos: add online help 2021-07-22 10:09:53 +02:00
ServerStatus.js ui: remove white backgrounds from package versions and system report 2023-03-09 08:04:18 +01:00
Subscription.js ui: trim whitespaces when adding a subscription key 2024-03-01 10:44:40 +01:00
SystemConfiguration.js ui: system config: fix deleting DNS entries 2024-03-04 14:50:10 +01:00
Utils.js tree-wide: fix various typos 2023-11-29 18:32:07 +01:00
VersionInfo.js ui: minimally increase font-size of product title and version 2021-07-03 23:13:33 +02:00
ZFSList.js ui: some more eslint auto-fixes 2020-09-25 18:34:54 +02:00