Hacker News new | past | comments | ask | show | jobs | submit login

Question: could DNS rebinding be used to tap into 1Password inter-process communication? They use localhost websockets for IPC; it's authenticated through the request origin and then through verifying the PID is in fact the browser [1].

DNS rebinding could definitely get around the PID check, but could it spoof an origin to something like "safari-extension://com.agilebits.onepassword4-safari-2bua8c4s2c"?

[1] https://support.1password.com/mini-extension-security/




I don't see how this would work, seeing as the safari-extension protocol doesn't get the location to go to based on DNS.


Well first off, I honestly don't know if it's possible; if I knew, I'd just shoot an email off to 1password.

That being said, I don't think we're suggesting the same thing. I'm saying one could write a webpage that uses DNS rebinding to make requests on localhost, like OP. Then, the webpage, completely bypassing the browser's built-in extension system, makes a request to 1password over localhost (which they're already using for IPC).

The reason that DNS rebinding is relevant is twofold; first, you need the request to hijack existing IPC between the browser extension and the standalone desktop app, and two, because you need to have the request come from the browser's PID. That should all work.

The question here revolves around 1password's verification that the origin is coming from, for example, something similar to

> safari-extension://com.agilebits.onepassword4-safari-2bua8c4s2c

So then your webpage would also need to be able to spoof the origin of your localhost requests to look like they were coming from that origin. I don't know if that's possible or not, but if it is, it would imply that this technique could get you illegitimate access to 1password.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: