This repository was archived by the owner on Feb 18, 2025. It is now read-only.

Description
How to reproduce
- save password or create new login entry on 1password app
- change url to attacker’s domain.
- fillin password on malicious page by 1password app or extension.
- nakedDomains contains original domain.
example:
Object.defineProperty(document, "com_agilebits_onepassword_fill", {
enumerable: false,
configurable: false,
writable: false,
value: function(a){
alert(JSON.stringify(a));
}
});

- attacker can find another domain that is a target user using same password.
- sub.example.com can get password-saved-domain.example.com (heroku, appspot, etc)
it is problem of js context.
js context of “stringByEvaluatingJavaScriptFromString” is like a bookmarklet.
I also tested on browser extension(chrome,firefox), content script of browser extension run at “isolated world” so browser extensions are maybe not affected.(I'm not investigating deeply)