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

document.com_agilebits_onepassword_fill( raw_data ) is danger in some case #260

@mala

Description

@mala

How to reproduce

  1. save password or create new login entry on 1password app
  2. change url to attacker’s domain.
  3. fillin password on malicious page by 1password app or extension.
  4. 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));
    }                         
});                     

op_screenshot

  • 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)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions