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

Make sure that we're not vulnerable to DNS rebinding attack #274

Open
ztane opened this issue Nov 3, 2016 · 4 comments
Open

Make sure that we're not vulnerable to DNS rebinding attack #274

ztane opened this issue Nov 3, 2016 · 4 comments

Comments

@ztane
Copy link

ztane commented Nov 3, 2016

It started with Rails; now there was CVE 2016-9014 in Django; someone should make sure that pyramid_debugtoolbar is not vulnerable. This attack allows a malicious site being opened in any browser to access the debug console - the hostname of the request must be validated.

@digitalresistor
Copy link
Member

Hostname is not validated.

@mmerickel
Copy link
Member

I don't see a way to mitigate this easily but I'm open to suggestions.

@a3kov
Copy link

a3kov commented May 29, 2017

This is pretty serious stuff...

I don't see a way to mitigate this easily but I'm open to suggestions

Check host like @ztane said. If there is a hostname in the request, compare to a configuration setting, like "permitted hosts". Is there anything I'm missing ?

@jvanasco
Copy link
Contributor

jvanasco commented Aug 9, 2017

This would be better implemented as a tween/middleware/component of the core Pyramid package, and then called from there. That would allow developer applications to leverage the protection.

Every Pyramid application/component is vulnerable to DNS rebinding without checking an "allowed hosts" list. The debugtoolbar is a more attractive exploit because, like certain components of django and rails, it has a structured API and published hooks/entrypoints exploitable.

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

Successfully merging a pull request may close this issue.

5 participants