passbolt / passbolt_browser_extension

Browser extensions (Firefox, Edge & Chrome) for Passbolt the open source password manager for teams
https://passbolt.com
GNU Affero General Public License v3.0
233 stars 72 forks source link

Page is not loading correctly, passwords are no longer accessible #115

Closed ralphhaselbach closed 3 years ago

ralphhaselbach commented 3 years ago

Page is not loading correctly, passwords are no longer accessible

What you did

Extension was auto-updated, when I wasn't able to access the passwords anymore I've installed the latest Debian updates and migrated Passbolt from an installation with installation scripts (v1) to the Debian package using the guide on passbolt.com. This didn't solve the issue so I found and tried the steps from Issue 113: sudo -H -u www-data bash -c "./bin/cake passbolt datacheck --hide-success-details" PassboltDatacheck

sudo -H -u www-data bash -c "./bin/cake passbolt cleanup --dry-run" PassboltCleanup

What happened

Passbolt login works however the page with the passwords is not loaded, also cannot access users tab or profile settings: PassboltLoadingError

Browser console error shown: PassboltConsoleError

What you expected to happen

Access the passwords again.

sajtdavid commented 3 years ago

Same here. Most users can access their passwords, my user have this issue: EntityValidationError: Could not validate entity Avatar at Function.validateObject.

Happens on clean install, Chrome & Firefox too, multiple PCs.

Data check:

[FAIL] Data integrity for Favorites.
  [FAIL] Can validate: 1/2
    [FAIL] Validation failed for favorite 59aeaf6f-6380-439a-8c71-1153c0a802c8. {"foreign_model":{"inList":"The provided value is invalid"}}
nourcy commented 3 years ago

Hi @ralphhaselbach, can you share the content of the details json object? (with an obfuscation of any sensitive data of course) And also, are you able to access your profile under /app/settings/profile to see if you avatar is available?

ralphhaselbach commented 3 years ago

Hi @nourcy, here is the log file when saving the console error, I wasn't able to save it in another format: PassboltConsoleError.log

Accessing the profile page the page looks like this as well: PassboltProfilePage

When trying to edit my profile using the profile button I get more error messages: PassboltProfilePageEdit

stripthis commented 3 years ago

@ralphhaselbach it seems there is an issue with the avatar data, where user_id is not set (which is strange, probably due to some v1 avatar that have not been correctly migrated), which is not caught by the cleanup script.

We will be working on a fix to fail better in this scenario.

Can you paste the content of https://yoururl.com/users/me.json (please remove names and other sensitive info). To be sure that this is the issue?

In the meantime can you check the content of the file_storage table, in your SQL database:

select id, user_id from file_storage;

You can then drop the records directly if user_id not set / not a string.

delete from file_storage where user_id is NULL;
delete from file_storage where user_id is '';
rcrdo520 commented 3 years ago

me.zip

Here is mine. I have the same issue. :)

nourcy commented 3 years ago

@ralphhaselbach, does the database cleaning helps? Ok @rcrdo520 thanks for the file we will look into it

sajtdavid commented 3 years ago

Same here. Most users can access their passwords, my user have this issue: EntityValidationError: Could not validate entity Avatar at Function.validateObject.

Happens on clean install, Chrome & Firefox too, multiple PCs.

Data check:

[FAIL] Data integrity for Favorites.
  [FAIL] Can validate: 1/2
    [FAIL] Validation failed for favorite 59aeaf6f-6380-439a-8c71-1153c0a802c8. {"foreign_model":{"inList":"The provided value is invalid"}}

My datacheck error was caused by having "resource" instead of "Resource" in the favorites.foreign_model column, after fixing it there are no errors in the datacheck, but the JS error is still there.

Here is my json: me.zip

stripthis commented 3 years ago

@sajtdavid can you confirm you have the same error message e.g. EntityValidationError details: user_id: {...}. If so can you show me the result of the following query:

select id, user_id from file_storage;

I'm trying to narrow down the validation error so that we can relax it. We have a fix ready for user_id that we are publishing now with v3.0.1 but more information about the data would be great. It seems to be affecting users that have been there since the v1.

Apologies for the inconvenience,

rcrdo520 commented 3 years ago

This was mine.

`select id, user_id from file_storage;

| id | user_id | | 3f35f5bc-2423-40a0-b31c-824fb6674b48 | NULL | | 4bd27228-4b13-4275-bb64-ff3e483c8197 | NULL | | 54227f02-7e41-4c9b-b56d-87fb09b64586 | 5a9d1119-4020-40d7-9d02-5160c0a8051b | | 94115495-d216-4b1f-9228-a15bb556b155 | NULL | | a7452d7b-55cc-4496-8e0c-e591b1ed6d76 | 5a941c02-6814-40df-b9e8-6118c0a8051b | | b23b86c5-612f-41f4-bf83-c5408eb73b2c | NULL | 6 rows in set (0.00 sec)

delete from file_storage where user_id is NULL; Query OK, 4 rows affected (0.04 sec)

select id, user_id from file_storage;

| id | user_id | | 54227f02-7e41-4c9b-b56d-87fb09b64586 | 5a9d1119-4020-40d7-9d02-5160c0a8051b | | a7452d7b-55cc-4496-8e0c-e591b1ed6d76 | 5a941c02-6814-40df-b9e8-6118c0a8051b | 2 rows in set (0.00 sec)`

ralphhaselbach commented 3 years ago

The database query listed 3 users of which only the first one had a user_id set. The other two were NULL. I've deleted the entries with the given command and now I can access the users and administration tab as well as the my profile page. The avatar has been reset to the default icon.

The passwords page still shows nothing, it seems like it's loading as there is a loading bar at the bottom: PassboltLoading

Here is my me-file: me.zip

EDIT: No error message anymore in the browser console.

stripthis commented 3 years ago

@ralphhaselbach can you get in touch with us at support@passbolt.com, so that we can organize a quick call and have a look together at the issue?

stripthis commented 3 years ago

OK, so for users coming from V1 so far we have seen:

@nourcy is working on a document on how to cleanup the data manually, and we're publishing a new version of the extension which would accept these data from v1.

nourcy commented 3 years ago

Here is the link guys: https://community.passbolt.com/t/browser-extension-v3-0-0-issues-identified-for-v1-data/3471 We will close this post to centralise.

stripthis commented 3 years ago

Publishing another hotfix for these issues. Please check: https://community.passbolt.com/t/browser-extension-v3-0-0-data-issues-identified-for-users-using-passbolt-since-v1/3471