Skip to content

Commit 42cdd16

Browse files
committed
Prevent account enumeration via signup error messages (Issue #697)
Replace specific 'User already exists' error message with generic 'Username or email is invalid' message. This prevents attackers from enumerating valid email addresses and usernames in the system by observing different error messages during signup attempts. Changes: - Changed error message on duplicate user detection to generic message - Changed duplicate key error message to match generic message - Prevents account enumeration attacks that rely on error message differences Fixes #697
1 parent 53f820b commit 42cdd16

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

backend/routes/auth.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ router.post("/signup", validateRequest(signupSchema), async (req, res) => {
1616
});
1717

1818
if (existingUser)
19-
return res.status(400).json({ message: 'User already exists' });
19+
return res.status(400).json({ message: 'Username or email is invalid' });
2020

2121
const newUser = new User({ username, email, password });
2222
await newUser.save();
2323
res.status(201).json({ message: 'User created successfully' });
2424
} catch (err) {
2525
if (err && err.code === 11000) {
26-
return res.status(400).json({ message: 'User already exists' });
26+
return res.status(400).json({ message: 'Username or email is invalid' });
2727
}
2828

2929
res.status(500).json({ message: 'Error creating user', error: err.message });

0 commit comments

Comments
 (0)