Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

specifying a hostname in the user consent prompt is useless without DNS rebinding protection #16

Open
thejh opened this issue Aug 21, 2020 · 2 comments

Comments

@thejh
Copy link

thejh commented Aug 21, 2020

The security considerations section says that user consent would be host-specific, but also that DNS rebinding protection would be limited to preventing connections to "private network addresses". There are two big problems with this:

  • If the DNS rebinding protection is only against rebinding to private IPs, you'd effectively grant permission to connect to any non-private IP at a specific port; the host component of the user consent is more or less useless. Perhaps this part could be improved a bit by requiring that the reverse DNS of the IP address matches the original hostname or so.
  • In IPv6, it is perfectly normal to have publicly routable IP addresses inside home networks and such. Filtering simply by a fixed list of private address blocks is useless for preventing connections to the local network.
@eligrey
Copy link

eligrey commented Aug 22, 2020

Can reverse DNS PTR records be spoofed per-request?

@kg
Copy link

kg commented Oct 20, 2020

Can reverse DNS PTR records be spoofed per-request?

There are existing attacks that deanonymize users by watching for dns resolves of special case subdomains, and in those cases (where they aren't cached) the dns server could dynamically pick the response. This would possibly allow forging rdns. Ensuring the rdns isn't cached for an ipv4 address seems unrealistic, but I could see it working for ipv6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants