garris / garris/BackstopJS

Security issue with "extract-zip" and outdated "puppeteer" version

Open
#1,625 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
7.2k
Forks
621
PR merge metrics
No merged PRs in 30d

Description

Hi everybody,

there is current security issue with "extract-zip" https://github.com/advisories/GHSA-jmr9-qjv8-65gv

Unfortunately, this is related to BackstopJS as you can see here below. While there is also "puppeteer" in this chain, there is no hope, they will solve the problem for us: https://github.com/puppeteer/puppeteer/issues/15333

It would be great to see an update of BackstopJS which uses a newer version of puppeteer.

```
# npm audit report

extract-zip *
Severity: high
extract-zip unvalidated symlink path traversal - https://github.com/advisories/GHSA-jmr9-qjv8-65gv
fix available via `npm audit fix --force`
Will install backstopjs@6.2.2, which is a breaking change
node_modules/extract-zip
@puppeteer/browsers <=2.13.2
Depends on vulnerable versions of extract-zip
node_modules/@puppeteer/browsers
puppeteer 19.8.1 - 24.43.1
Depends on vulnerable versions of @puppeteer/browsers
Depends on vulnerable versions of puppeteer-core
node_modules/puppeteer
backstopjs >=6.3.1
Depends on vulnerable versions of puppeteer
node_modules/backstopjs
puppeteer-core 19.8.4 - 24.43.1
Depends on vulnerable versions of @puppeteer/browsers
node_modules/puppeteer-core
```

Contributor guide

Open the contributing guide

Research direction

Start by reviewing BackstopJS's dependency declarations and reproducing the reported result with npm audit. Trace the puppeteer and @puppeteer/browsers versions that bring in extract-zip, then verify that the dependency update removes GHSA-jmr9-qjv8-65gv without breaking BackstopJS's existing checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
devtools, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.