Skip to content

Commit 7678159

Browse files
Add examples for create account and password reset
Signed-off-by: David A. Wheeler <[email protected]>
1 parent 7975ef2 commit 7678159

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

secure_software_development_fundamentals.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3611,6 +3611,8 @@ Avoid giving security or sensitive information to untrusted users. If a request
36113611

36123612
* On a failed login, just say “*username or password failed*” or similar - don’t expose whether it was the username or the password that failed. That could tell the attacker that the username is valid, and makes further attacks easier.
36133613

3614+
* If a user tries to create an account using an email address, don't tell the user if an account with that email address already exists. Similarly, if a user tries to do a password reset using an email address, don't tell the user if there is no account with that email address. Providing either of these mechanisms allows an unauthenticated attacker to determine if a specific email address is being used by an existing account.
3615+
36143616
* In general, don’t display sensitive/private data unless necessary at that point.
36153617

36163618
Implement audit logging early in development. Then, if you need to record more detailed information to aid debugging, report that information in the logs instead of displaying it to the user. Audit logs are really convenient for debugging (because they are designed to record useful information without interfering with normal operations), and you are more likely to include useful status information in the logs if they are developed in parallel with the rest of the program. They will also reduce the temptation to reveal too much to untrusted users.

0 commit comments

Comments
 (0)