Skip to content

Commit d110617

Browse files
authored
1 parent f140227 commit d110617

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

integration/test/ParseUserTest.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -898,4 +898,22 @@ describe('Parse User', () => {
898898
expect(user.get('authData').twitter.id).toBe(authData.id);
899899
expect(user.get('authData').facebook.id).toBe('test');
900900
});
901+
902+
it('fix GHSA-wvh7-5p38-2qfc', async () => {
903+
Parse.User.enableUnsafeCurrentUser();
904+
const user = new Parse.User();
905+
user.setUsername('username');
906+
user.setPassword('password');
907+
await user.signUp();
908+
909+
const path = Parse.Storage.generatePath('currentUser');
910+
let userData = Parse.Storage.getItem(path);
911+
expect(JSON.parse(userData).password).toBeUndefined();
912+
913+
user.setPassword('password');
914+
await user.save(null, { useMasterKey: true });
915+
916+
userData = Parse.Storage.getItem(path);
917+
expect(JSON.parse(userData).password).toBeUndefined();
918+
});
901919
});

src/ParseUser.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,8 @@ const DefaultController = {
869869
updateUserOnDisk(user) {
870870
const path = Storage.generatePath(CURRENT_USER_KEY);
871871
const json = user.toJSON();
872+
delete json.password;
873+
872874
json.className = user.constructor.name === ParseUser.name ? '_User' : user.constructor.name;
873875
return Storage.setItemAsync(
874876
path, JSON.stringify(json)

0 commit comments

Comments
 (0)