1

Websites ask for passwords to ensure you are the account owner before you make changes to high-risk settings, but autofill works all the time, even when the browser is in Incognito mode.

If someone already has access to your computer, it doesn't seem as secure as asking for 2FA (with SMS or TOTP), so does this really help enhance security?


Example 1: Twitter asks you to input your password to view or edit the security settings.

enter image description here

Example 2: GitHub does the same and grants access for 2 hours once you confirm the password.

enter image description here

4
  • I'm confused. How is autofill an issue? I think you need to unpack a few assumptions.
    – schroeder
    Commented Jun 20 at 21:20
  • @schroeder My point was: why ask to re-enter the password if a stranger using your computer can just autofill it? What was it designed for? Commented Jun 21 at 13:52
  • If they have access to your device, then MFA might not be any more secure than the locally saved password ... The threat here isn't necessarily combating physical access to your device. And you are trying to combine what the website can do with what you have done on your device with your password manager. However, that isn't the universal case.
    – schroeder
    Commented Jun 21 at 14:28
  • A browser's autofill field and/or an extension for a password manager (if it's built properly) are outside of the DOM and cannot be manipulated via javascript.... so there is some security in place. (won't help for physical or remote access though) What you describe is a danger of having a browser or password manager store your passwords. You can turn that off, and it's often mandatory that this is turned off in certain environments. If, on the other hand, these are auto-suggestions provided by the individual site, those are available via DOM and accessible via script. Commented Jun 21 at 18:35

1 Answer 1

6

The password manager of the browser is a client-side feature which websites have no control over. Whether or not you use it is your own choice. So if a website asks for re-authentication, and you “bypass” this by having the browser fill in your password automatically, this isn't a weakness of the re-authentication mechanism. If you don't want the password to be filled in automatically, then don't store it in the password manager.

Also note that re-authentication is not only meant to deal with an attacker who has compromised your browser or device so extensively that they can use the password manager. It also addresses attacks like session hijacking where an attacker has obtained your session ID but doesn't know the password and doesn't have access to your browser's password manager. In this case, forcing re-authentication is very effective, because it completely stops the attack.

Of course 2FA would be more secure than just asking for the password, but then the application would essentially log you out entirely and make you go through the standard authentication procedure. That's not really what re-authentication is about. The idea is that you're already logged in, but the application occasionally checks that you actually know the password and aren't an attacker who has hijacked the device or session. Depending on how often re-authentication happens, it would also be rather inconvenient to go through the entire 2FA procedure each time, so websites might avoid this for usability reasons.

2
  • GitHub promotes the session after I re-enter the password, so the attacker would also get a promoted session if the session was hijacked. But yeah, it looks like a user problem; websites have already done their best. Commented Jun 21 at 13:50
  • Does the session ID stay the same after the re-authentication? Usually, it's changed, so that an attacker doesn't get access to the privileged session.
    – Ja1024
    Commented Jun 21 at 16:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .