

- #Lastpass extension update
- #Lastpass extension full
- #Lastpass extension code
- #Lastpass extension download
- #Lastpass extension windows
Those changes then needed to be applied and tested across all affected extensions. This was not a simple patch, and required a thoughtful, thorough fix. It was clear that addressing the issues would require a significant change to our browser extensions.
#Lastpass extension full
Immediately after we received the full report, a cross-functional response team investigated and validated the findings. Consequently, there were many locations in our JavaScript where it was possible for externally-supplied, global variables to override a default value. Our assumption was that we could trust the global scope in which our content scripts run, and this proved not to be the case. By doing so, an attacker could manipulate the LastPass extension into revealing the stored data of that user, and launch arbitrary executables in the case of the binary version. But in a particularly clever move, the report demonstrated that arbitrary strings could be injected, and one of these was enough to trick the extension into thinking it was executing on. It is difficult to inject arbitrary values into JavaScript using this technique. In some cases, these variables can influence the logic of the content script. The separation is supposed to keep both sides safer from external manipulation. The reverse also applies: The 3rd party site cannot call any functions or access any variables in our content scripts. Isolated worlds means our content scripts can read the DOM contents of a 3rd party site, but not any internal JavaScript functions or variables. The content scripts are ordinarily set apart from the rest of the site through the concept of “isolated worlds”. The rest of the extension is completely inaccessible to 3rd-party sites and should not be able to influence the content scripts. In turn, the content script communicates with the rest of the extension to do the heavy lifting: decrypting saved sites, updating the vault, and so on. These are a major part of what makes LastPass so useful. Content scripts are snippets of JavaScript that we inject into 3rd-party sites in order to capture login information and perform autofill.
#Lastpass extension code
Without isolated worlds, unprivileged pages could interfere with higher privileged scripts, and make them do whatever they want.” In the case of those running the binary version of the extension, which is less than 10% of LastPass users, it could have been manipulated to allow remote code execution (RCE) on the extension.Ī major part of how LastPass works is content scripts. As noted in the report, “an isolated world is a JavaScript execution environment that shares the same DOM ( Document Object Model) as other worlds, but things like variables and functions are not shared. This client-side vulnerability in the LastPass browser extensions was caused by the way LastPass behaves in “isolated worlds”.

#Lastpass extension download
#Lastpass extension windows


Now that the issue is resolved, we want to provide a postmortem to our community on what the report entailed and how we are building a better, more secure LastPass going forward. Please ensure you are running the latest version (4.1.44 or higher), which can always be downloaded at. Most users will be updated automatically.
#Lastpass extension update
On Saturday, March 25th, security researcher Tavis Ormandy from Google’s Project Zero reported a security finding related to the LastPass browser extensions. In the last 24 hours, we’ve released an update which we believe fixes the reported vulnerability in all browsers and have verified this with Tavis himself.
