Skip to content
This repository was archived by the owner on Dec 16, 2023. It is now read-only.

Security issue #1169

Closed
lirantal opened this issue Aug 10, 2018 · 5 comments
Closed

Security issue #1169

lirantal opened this issue Aug 10, 2018 · 5 comments

Comments

@lirantal
Copy link

Hello,

As a member of the Node.js Security WG
I would like to draw your attention to a security report that has been made regarding this issue.

I have made attempts to contact the person identified as a maintainer of this package but did not get any answer. What is the best way to reach someone with commit rights over this repo and hopefully npm publishing rights as well, in order to invite them to privately discuss the issue on the HackerOne platform and provide a resolution?

Thanks,
Liran.

References:

@djanowski
Copy link
Collaborator

djanowski commented Aug 10, 2018 via email

@lirantal
Copy link
Author

@djanowski I invited you to the hackerone platform, you should get an invite in your inbox.
Please join and review the report to take action on.

Thanks!

@lirantal
Copy link
Author

lirantal commented Oct 1, 2018

@djanowski can you please check again your inbox or spam folder for the invite?
appreciate it!

@lirantal
Copy link
Author

All, @assaf, I'm chiming in on this again as I have disclosed the report (https://hackerone.com/reports/389583) but before it makes it to a CVE that will affect this and future versions of Zombie, would you like to further discuss?

My action item would be that if Zombie can default to not evaluating javascript code when crawling a website then this will be a good security measure. Not sure however what and if this will break existing clients. Can you share your input?

@assaf
Copy link
Owner

assaf commented Nov 24, 2018

Zombie is “full-stack testing using Node.js”. It’s fit for purpose: use it in your test environment, to run test suites, against your application code.

Zombie is not designed to test adversaries (eg pen tests, web scraping).

If you are testing your application code, that implies components and services you trust. After all, you will be exposing your users to those same URLs!

Since test suites should be fast, isolated, and repeatable, that implies control over the resources used in your tests.

There are various tools that allow you to capture, verify, block, and modify resources. I personally use nock, replay (disclosure: also mine), and sinon. But Zombie will work with many other tools like that.

Following the UNIX philosophy that "tools should do one thing, and do it well,” Zombie does not intend to duplicate features from nock/replay/sinon/etc, but rather be used in combination with these tools

The changes you are suggesting are for offl label use. Zombie does not support the use cases of “untrusted crawled pages.”

TL;DR If you’re using Zombie as intended, as part of a test enviornment that follows best practices, then you have high trust/control over the resources Zombie is using. If you are using Zombie for off label use, please don’t.

@assaf assaf closed this as completed May 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants