Select "Also rotate my account's encryption key" when changing master password.
Expected Result
The master password to be changed along with the account's encryption key.
Actual Result
It fails with "An error has occurred."
Logs
2025-10-28T13:21:24.176212643Z [2025-10-28 13:21:24.176][request][INFO] POST /identity/connect/token
2025-10-28T13:21:24.461438072Z [2025-10-28 13:21:24.461][response][INFO] (login) POST /identity/connect/token => 200 OK
2025-10-28T13:21:24.504075579Z [2025-10-28 13:21:24.503][request][INFO] GET /api/sync?excludeDomains=true
2025-10-28T13:21:24.526132745Z [2025-10-28 13:21:24.526][response][INFO] (sync) GET /api/sync?<data..> => 200 OK
2025-10-28T13:21:24.619289289Z [2025-10-28 13:21:24.619][request][INFO] GET /api/emergency-access/trusted
2025-10-28T13:21:24.624348173Z [2025-10-28 13:21:24.624][response][INFO] (get_contacts) GET /api/emergency-access/trusted => 200 OK
2025-10-28T13:21:24.664830244Z [2025-10-28 13:21:24.664][request][INFO] GET /api/users/public-key
2025-10-28T13:21:24.664923146Z [2025-10-28 13:21:24.664][response][INFO] (web_files) GET /<p..> [10] => 404 Not Found
@PedroDuarteMesquitaPinto-ops commented on GitHub (Oct 28, 2025):
@BlackDex the issue occurs with the latest testing image, please see the version above.
<!-- gh-comment-id:3456895326 -->
@PedroDuarteMesquitaPinto-ops commented on GitHub (Oct 28, 2025):
@BlackDex the issue occurs with the latest testing image, please see the version above.
I tested it my self, and it works just fine. There is only one bug, which i currently have solved, and that is when there is an invited user in the emergency-contact's which not yet is confirmed.
I'm also not seeing anything strange in the logs which could indicate an issue.
Are there any useful logs in the reverse proxy?
<!-- gh-comment-id:3476629215 -->
@BlackDex commented on GitHub (Nov 1, 2025):
I tested it my self, and it works just fine. There is only one bug, which i currently have solved, and that is when there is an invited user in the emergency-contact's which not yet is confirmed.
I'm also not seeing anything strange in the logs which could indicate an issue.
Are there any useful logs in the reverse proxy?
Closing this as not being able to reproduce. Please provide more logs if this still is an issue.
Also try the current latest version which has a newer version of the web-vault, and one specific item fixed with key-rotation, but not linked to this i think.
Please re-open with more logs if this still is causing issues.
<!-- gh-comment-id:3511292217 -->
@BlackDex commented on GitHub (Nov 10, 2025):
Closing this as not being able to reproduce. Please provide more logs if this still is an issue.
Also try the current latest version which has a newer version of the web-vault, and one specific item fixed with key-rotation, but not linked to this i think.
Please re-open with more logs if this still is causing issues.
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 10, 2025):
Tested with the latest testing image, the "404" comes from the container:
2025-11-10T15:15:48.191722960Z [2025-11-10 15:15:48.191][request][INFO] POST /identity/connect/token 2025-11-10T15:15:48.436869677Z [2025-11-10 15:15:48.436][response][INFO] (login) POST /identity/connect/token => 200 OK 2025-11-10T15:15:48.478619817Z [2025-11-10 15:15:48.478][request][INFO] GET /api/sync?excludeDomains=true 2025-11-10T15:15:48.508333116Z [2025-11-10 15:15:48.508][response][INFO] (sync) GET /api/sync?<data..> => 200 OK 2025-11-10T15:15:48.590454989Z [2025-11-10 15:15:48.590][request][INFO] GET /api/emergency-access/trusted 2025-11-10T15:15:48.593958601Z [2025-11-10 15:15:48.593][response][INFO] (get_contacts) GET /api/emergency-access/trusted => 200 OK 2025-11-10T15:15:48.634260435Z [2025-11-10 15:15:48.634][request][INFO] GET /api/users/public-key 2025-11-10T15:15:48.634400736Z [2025-11-10 15:15:48.634][response][INFO] (web_files) GET /<p..> [10] => 404 Not Found
Versions
Server Installed Ok
1.34.3-9017ca26
Server Latest
1.34.3-9017ca26
Web Installed Pre-Release
2025.10.1
Web Latest
2025.7.0
Database
PostgreSQL: PostgreSQL 16.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.2.0, 64-bit
<!-- gh-comment-id:3512392389 -->
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 10, 2025):
Tested with the latest testing image, the "404" comes from the container:
`2025-11-10T15:15:48.191722960Z [2025-11-10 15:15:48.191][request][INFO] POST /identity/connect/token
2025-11-10T15:15:48.436869677Z [2025-11-10 15:15:48.436][response][INFO] (login) POST /identity/connect/token => 200 OK
2025-11-10T15:15:48.478619817Z [2025-11-10 15:15:48.478][request][INFO] GET /api/sync?excludeDomains=true
2025-11-10T15:15:48.508333116Z [2025-11-10 15:15:48.508][response][INFO] (sync) GET /api/sync?<data..> => 200 OK
2025-11-10T15:15:48.590454989Z [2025-11-10 15:15:48.590][request][INFO] GET /api/emergency-access/trusted
2025-11-10T15:15:48.593958601Z [2025-11-10 15:15:48.593][response][INFO] (get_contacts) GET /api/emergency-access/trusted => 200 OK
2025-11-10T15:15:48.634260435Z [2025-11-10 15:15:48.634][request][INFO] GET /api/users/public-key
2025-11-10T15:15:48.634400736Z [2025-11-10 15:15:48.634][response][INFO] (web_files) GET /<p..> [10] => 404 Not Found`
```
Versions
Server Installed Ok
1.34.3-9017ca26
Server Latest
1.34.3-9017ca26
Web Installed Pre-Release
2025.10.1
Web Latest
2025.7.0
Database
PostgreSQL: PostgreSQL 16.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.2.0, 64-bit
```
Can you check your database if the user account of your emergency access is valid / still exists? (If you deleted that user manually you would need to remove them also from your emergency access table...)
<!-- gh-comment-id:3513102287 -->
@stefan0xC commented on GitHub (Nov 10, 2025):
```
[2025-11-10 15:15:48.634][request][INFO] GET /api/users/public-key
```
Did your web-vault really request that path or did you change that in the log? Because `/api/users/<user_id>/public-key` should exist. That endpoint returns a 404 in one of these cases: https://github.com/dani-garcia/vaultwarden/blob/f9751a0a1dd69d082478283cf1d402ed91fe5bb7/src/api/core/accounts.rs#L469-L475
Can you check your database if the user account of your emergency access is valid / still exists? (If you deleted that user manually you would need to remove them also from your emergency access table...)
<!-- gh-comment-id:3516014376 -->
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 11, 2025):
Did not change the logs, they are all a direct copy paste.
Looking atm at the database, will update soon.
The emergency access option is not available with the SSO configuration in place as above:
> "sso_allow_unknown_email_verification": true,
> "sso_audience_trusted": null,
> "sso_auth_only_not_session": false,
> "sso_authority": "*****://*******************************************************************",
> "sso_authorize_extra_params": "",
> "sso_callback_path": "*****://********************************************",
> "sso_client_cache_expiration": 0,
> "sso_client_id": "************************************",
> "sso_client_secret": "***",
> "sso_debug_tokens": false,
> "sso_enabled": true,
> "sso_master_password_policy": null,
> "sso_only": true,
> "sso_pkce": true,
> "sso_scopes": "openid profile offline_access User.Read",
> "sso_signups_match_email": true,
<img width="297" height="1252" alt="Image" src="https://github.com/user-attachments/assets/41f720fc-3187-4ed3-b9a7-174446733777" />
@PedroDuarteMesquitaPinto-ops, could you test the latest testing tagged container please?
As the version you posted is a85b4851, which doesn't contain a fix i added after that.
<!-- gh-comment-id:3517999352 -->
@BlackDex commented on GitHub (Nov 11, 2025):
@PedroDuarteMesquitaPinto-ops, could you test the latest `testing` tagged container please?
As the version you posted is `a85b4851`, which doesn't contain a fix i added after that.
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
Now on the latest testing tag that points to "2242416cc1436f3a3ca3a6c1104d0f384924e9690ec437f85284e3f165364e8c"
2025-11-12T09:50:04.602587091Z [2025-11-12 09:50:04.602][request][INFO] POST /identity/connect/token
2025-11-12T09:50:04.945963453Z [2025-11-12 09:50:04.945][response][INFO] (login) POST /identity/connect/token => 200 OK
2025-11-12T09:50:04.990815328Z [2025-11-12 09:50:04.990][request][INFO] GET /api/sync?excludeDomains=true
2025-11-12T09:50:05.034573672Z [2025-11-12 09:50:05.034][response][INFO] (sync) GET /api/sync?<data..> => 200 OK
2025-11-12T09:50:05.128713548Z [2025-11-12 09:50:05.128][request][INFO] GET /api/emergency-access/trusted
2025-11-12T09:50:05.132943168Z [2025-11-12 09:50:05.132][response][INFO] (get_contacts) GET /api/emergency-access/trusted => 200 OK
2025-11-12T09:50:05.172721399Z [2025-11-12 09:50:05.172][request][INFO] GET /api/users/public-key
2025-11-12T09:50:05.173391218Z [2025-11-12 09:50:05.172][response][INFO] (web_files) GET /<p..> [10] => 404 Not Found
<!-- gh-comment-id:3521114513 -->
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
Now on the latest testing tag that points to "2242416cc1436f3a3ca3a6c1104d0f384924e9690ec437f85284e3f165364e8c"
```
2025-11-12T09:50:04.602587091Z [2025-11-12 09:50:04.602][request][INFO] POST /identity/connect/token
2025-11-12T09:50:04.945963453Z [2025-11-12 09:50:04.945][response][INFO] (login) POST /identity/connect/token => 200 OK
2025-11-12T09:50:04.990815328Z [2025-11-12 09:50:04.990][request][INFO] GET /api/sync?excludeDomains=true
2025-11-12T09:50:05.034573672Z [2025-11-12 09:50:05.034][response][INFO] (sync) GET /api/sync?<data..> => 200 OK
2025-11-12T09:50:05.128713548Z [2025-11-12 09:50:05.128][request][INFO] GET /api/emergency-access/trusted
2025-11-12T09:50:05.132943168Z [2025-11-12 09:50:05.132][response][INFO] (get_contacts) GET /api/emergency-access/trusted => 200 OK
2025-11-12T09:50:05.172721399Z [2025-11-12 09:50:05.172][request][INFO] GET /api/users/public-key
2025-11-12T09:50:05.173391218Z [2025-11-12 09:50:05.172][response][INFO] (web_files) GET /<p..> [10] => 404 Not Found
```
Which web-vault version are you using?
Also, are you using anything like security or firewall tools? Like modsecurity or waf or something, because something seems off, and i can't reproduce it in any way.
Could you maybe provide a screenshot of the browser developer console of the network tab when you tried this.
<!-- gh-comment-id:3521157686 -->
@BlackDex commented on GitHub (Nov 12, 2025):
Which web-vault version are you using?
Also, are you using anything like security or firewall tools? Like modsecurity or waf or something, because something seems off, and i can't reproduce it in any way.
Could you maybe provide a screenshot of the browser developer console of the network tab when you tried this.
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
The version:
Versions
Server Installed Ok
1.34.3-2ee40d61
Server Latest
1.34.3-2ee40d61
Web Installed Pre-Release
2025.10.1
Web Latest
2025.7.0
Database
PostgreSQL: PostgreSQL 16.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.2.0, 64-bit
The 404:
<!-- gh-comment-id:3521248873 -->
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
The version:
> Versions
>
> Server Installed Ok
> 1.34.3-2ee40d61
> Server Latest
> 1.34.3-2ee40d61
> Web Installed Pre-Release
> 2025.10.1
> Web Latest
> 2025.7.0
> Database
> PostgreSQL: PostgreSQL 16.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.2.0, 64-bit
The 404:
<img width="2538" height="700" alt="Image" src="https://github.com/user-attachments/assets/9bb10f8b-b896-4b98-9f17-cd45fa10669b" />
<img width="1853" height="1138" alt="Image" src="https://github.com/user-attachments/assets/361ed3ce-f7d2-4425-8776-2d69ab5de8ef" />
<img width="1845" height="433" alt="Image" src="https://github.com/user-attachments/assets/dbf712c5-2632-48ae-84d2-ad99c03df8e5" />
Strange. Does this happen on all browsers? What if you use a browser you never used before?
<!-- gh-comment-id:3521269576 -->
@BlackDex commented on GitHub (Nov 12, 2025):
Strange. Does this happen on all browsers? What if you use a browser you never used before?
I mean, there is nothing in the code of the web-vault or the server which goes to /api/users/public-key.
<!-- gh-comment-id:3521325425 -->
@BlackDex commented on GitHub (Nov 12, 2025):
I mean, there is nothing in the code of the web-vault or the server which goes to `/api/users/public-key`.
Well, as far as I can tell this could only be getUserPublicKey if it's called without an id? Which is why I thought that an entry in the emergency access table might be responsible but since it seems to be empty maybe it's something else?
Nevertheless, can you check the response from /api/emergency-access/trusted? Because judging from the size of the response (0.3 kB) it looks like an entry:
<!-- gh-comment-id:3521438299 -->
@stefan0xC commented on GitHub (Nov 12, 2025):
Well, as far as I can tell this could only be [getUserPublicKey](https://github.com/bitwarden/clients/blob/3681709ff917356a8eafe73b5c29cf7b6c679cac/libs/common/src/services/api.service.ts#L1207-L1210) if it's called without an id? Which is why I thought that an entry in the emergency access table might be responsible but since it seems to be empty maybe it's something else?
Nevertheless, can you check the response from `/api/emergency-access/trusted`? Because judging from the size of the response (0.3 kB) it looks like an entry:
```json
{
"continuationToken":null,
"data": [{
"avatarColor":null,
"email":"<redactedmailadress>",
"granteeId":"<redacteduuid1>",
"id":"<redacteduuid2>",
"name":"stefan",
"object":"emergencyAccessGranteeDetails",
"status":2,
"type":1,
"waitTimeDays":1
}],
"object":"list"
}
```
(I can try later to replicate the issue but I think it's caused by disabling emergency access...)
<!-- gh-comment-id:3521490466 -->
@stefan0xC commented on GitHub (Nov 12, 2025):
@BlackDex I think the issue is probably caused by our dummy value:
https://github.com/dani-garcia/vaultwarden/blob/2ee40d6105131174fd7be185ef14fc782fcffffb/src/api/core/emergency_access.rs#L48-L66
(I can try later to replicate the issue but I think it's caused by disabling emergency access...)
Yep. That's it. I also get a 404 for /api/users/public-key when I disable emergency access (EMERGENCY_ACCESS_ALLOWED=false):
[2025-11-12 14:25:07.128][request][INFO] GET /api/users/public-key
[2025-11-12 14:25:07.128][rocket::response::responder::_][WARN] Response was `None`.
[2025-11-12 14:25:07.128][rocket::server::_][WARN] Responding with registered (api_not_found) /api 404 catcher.
<!-- gh-comment-id:3521946109 -->
@stefan0xC commented on GitHub (Nov 12, 2025):
Yep. That's it. I also get a 404 for `/api/users/public-key` when I disable emergency access (`EMERGENCY_ACCESS_ALLOWED=false`):
```
[2025-11-12 14:25:07.128][request][INFO] GET /api/users/public-key
[2025-11-12 14:25:07.128][rocket::response::responder::_][WARN] Response was `None`.
[2025-11-12 14:25:07.128][rocket::server::_][WARN] Responding with registered (api_not_found) /api 404 catcher.
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @PedroDuarteMesquitaPinto-ops on GitHub (Oct 28, 2025).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/6407
Prerequisites
Vaultwarden Support String
Your environment (Generated via diagnostics page)
Config & Details (Generated via diagnostics page)
Show Config & Details
Config:
Vaultwarden Build Version
testing sha256-caae61cf1a6d2ddf07a8aee771c69fe2498427bcb49cbf44dd9bfad297b80694
Deployment method
Official Container Image
Custom deployment method
No response
Reverse Proxy
Azure Container App Ingress
Host/Server Operating System
Cloud
Operating System Version
No response
Clients
Web Vault
Client Version
testing sha256-caae61cf1a6d2ddf07a8aee771c69fe2498427bcb49cbf44dd9bfad297b80694
Steps To Reproduce
Select "Also rotate my account's encryption key" when changing master password.
Expected Result
The master password to be changed along with the account's encryption key.
Actual Result
It fails with "An error has occurred."
Logs
Screenshots or Videos
Additional Context
No response
@BlackDex commented on GitHub (Oct 28, 2025):
Already resolved in the
testingtagged images@PedroDuarteMesquitaPinto-ops commented on GitHub (Oct 28, 2025):
@BlackDex the issue occurs with the latest testing image, please see the version above.
@BlackDex commented on GitHub (Nov 1, 2025):
I tested it my self, and it works just fine. There is only one bug, which i currently have solved, and that is when there is an invited user in the emergency-contact's which not yet is confirmed.
I'm also not seeing anything strange in the logs which could indicate an issue.
Are there any useful logs in the reverse proxy?
@BlackDex commented on GitHub (Nov 10, 2025):
Closing this as not being able to reproduce. Please provide more logs if this still is an issue.
Also try the current latest version which has a newer version of the web-vault, and one specific item fixed with key-rotation, but not linked to this i think.
Please re-open with more logs if this still is causing issues.
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 10, 2025):
Tested with the latest testing image, the "404" comes from the container:
2025-11-10T15:15:48.191722960Z [2025-11-10 15:15:48.191][request][INFO] POST /identity/connect/token 2025-11-10T15:15:48.436869677Z [2025-11-10 15:15:48.436][response][INFO] (login) POST /identity/connect/token => 200 OK 2025-11-10T15:15:48.478619817Z [2025-11-10 15:15:48.478][request][INFO] GET /api/sync?excludeDomains=true 2025-11-10T15:15:48.508333116Z [2025-11-10 15:15:48.508][response][INFO] (sync) GET /api/sync?<data..> => 200 OK 2025-11-10T15:15:48.590454989Z [2025-11-10 15:15:48.590][request][INFO] GET /api/emergency-access/trusted 2025-11-10T15:15:48.593958601Z [2025-11-10 15:15:48.593][response][INFO] (get_contacts) GET /api/emergency-access/trusted => 200 OK 2025-11-10T15:15:48.634260435Z [2025-11-10 15:15:48.634][request][INFO] GET /api/users/public-key 2025-11-10T15:15:48.634400736Z [2025-11-10 15:15:48.634][response][INFO] (web_files) GET /<p..> [10] => 404 Not Found@stefan0xC commented on GitHub (Nov 10, 2025):
Did your web-vault really request that path or did you change that in the log? Because
/api/users/<user_id>/public-keyshould exist. That endpoint returns a 404 in one of these cases: https://github.com/dani-garcia/vaultwarden/blob/f9751a0a1dd69d082478283cf1d402ed91fe5bb7/src/api/core/accounts.rs#L469-L475Can you check your database if the user account of your emergency access is valid / still exists? (If you deleted that user manually you would need to remove them also from your emergency access table...)
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 11, 2025):
Did not change the logs, they are all a direct copy paste.
Looking atm at the database, will update soon.
The emergency access option is not available with the SSO configuration in place as above:
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 11, 2025):
@BlackDex commented on GitHub (Nov 11, 2025):
@PedroDuarteMesquitaPinto-ops, could you test the latest
testingtagged container please?As the version you posted is
a85b4851, which doesn't contain a fix i added after that.@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
Now on the latest testing tag that points to "2242416cc1436f3a3ca3a6c1104d0f384924e9690ec437f85284e3f165364e8c"
@BlackDex commented on GitHub (Nov 12, 2025):
Which web-vault version are you using?
Also, are you using anything like security or firewall tools? Like modsecurity or waf or something, because something seems off, and i can't reproduce it in any way.
Could you maybe provide a screenshot of the browser developer console of the network tab when you tried this.
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
The version:
The 404:
@BlackDex commented on GitHub (Nov 12, 2025):
Strange. Does this happen on all browsers? What if you use a browser you never used before?
@BlackDex commented on GitHub (Nov 12, 2025):
I mean, there is nothing in the code of the web-vault or the server which goes to
/api/users/public-key.@stefan0xC commented on GitHub (Nov 12, 2025):
Well, as far as I can tell this could only be getUserPublicKey if it's called without an id? Which is why I thought that an entry in the emergency access table might be responsible but since it seems to be empty maybe it's something else?
Nevertheless, can you check the response from
/api/emergency-access/trusted? Because judging from the size of the response (0.3 kB) it looks like an entry:@stefan0xC commented on GitHub (Nov 12, 2025):
@BlackDex I think the issue is probably caused by our dummy value:
https://github.com/dani-garcia/vaultwarden/blob/2ee40d6105131174fd7be185ef14fc782fcffffb/src/api/core/emergency_access.rs#L48-L66
(I can try later to replicate the issue but I think it's caused by disabling emergency access...)
@BlackDex commented on GitHub (Nov 12, 2025):
@stefan0xC , ah good find that might be it indeed.
@PedroDuarteMesquitaPinto-ops commented on GitHub (Nov 12, 2025):
@stefan0xC commented on GitHub (Nov 12, 2025):
Yep. That's it. I also get a 404 for
/api/users/public-keywhen I disable emergency access (EMERGENCY_ACCESS_ALLOWED=false):