-
Notifications
You must be signed in to change notification settings - Fork 779
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Security issues #12
Comments
A few ideas to overcome these issues from Hacker News:
|
Additional discussion in Puppeteer repository: puppeteer/puppeteer#972. I have a bit of mixed feelings with this. If we prevent rendering
Also we have disabled the Chrome sandbox, which is a huge security issue: #4 |
Additionally, you might want to prevent it from accessing private IP ranges in some use-cases. Like imagine you have a pdf rendering service or screenshotting service where users can submit a url to be rendered. Imagine they submit a url that resolve to private pages in your network. or urls that redirect to those pages, etc... |
SummaryI'll close this issue. It serves more as an informational purpose and describing thought process. In short: use the x-api-key authentication and/or run it in an isolated environment such as Heroku. Do not run it in an environment where you might end up exposing files from the host server or even other servers inside a private network. Possible security "holes":
Why don't you fix them?I think it's too big of a leap to try to cover all possible security holes and the better way is to just clearly communicate that you need to either use the With the current efforts, it would be too ambitious for this project to try to cover all the security aspects. |
It's easy to make Chrome display any
file://
link. A couple of ways:Let's figure out if we could have a few ways in Puppeteer to block as much of these as possible. In any case, I'm quite confident that it's not possible to catch all of them. I would definitely recommend serving this API for "trusted" users, e.g. inside your organization.
The text was updated successfully, but these errors were encountered: