-
Notifications
You must be signed in to change notification settings - Fork 738
execa 1.0.0 flagged as insecure #1208
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
Comments
Can you share details of the security vulnerability? If it's been disclosed, then please share a link. If the vulnerability is not yet disclosed, then please raise this with the execa maintainers first. I won't say no to a PR to update execa as long as everything still works. |
the vulnerability was found by aws docker image scanner, so it's all ok to share. https://scout.docker.com/vulnerabilities/id/GMS-2020-2 Showed up in our report like this (nb: after running |
I don't think this is a vulnerability in shelljs. The report says:
We don't use If some other project is using shelljs and providing |
Also, how do you know that upgrading execa will fix the warning? It seems to me like execa still supports |
that's a good question, for which i don't have yet an answer. i can only try to build a project with updated execa and have it passed in the aws scanner again and see. i would like to highlight that i have read the repo's source code and indeed i agree that shelljs itself don't use anything which would put any user at risk... but it is marked as such, raising issue in a few security dashboard products ; so it's not really that the code is insecure itself, but the auditors are quite basic and won't discard based on usage (as it's not really scalable from their PoV). their policy is "you have it in package-lock, you're at risk" which is what i wanted to report in this issue. for FOSS projects i don't think it matters ; for SaaS like the one i work for, we have some security agreement which force us to fix those issues within a given time window or to seek help/support to do it. |
Ok I found the execa change: sindresorhus/execa#314. Changelog says this did in fact go out in 2.0.0. https://github.com/sindresorhus/execa/releases/tag/v2.0.0 I will accept a patch to upgrade execa. To set expectations though, I will not commit to a timeline when I will release the patch. "Due in 1 day" is an absolutely insane timeline for any OSS bug. |
@nfischer oh sorry i didn't mean to put pressure on you - the i will look into providing the patch PR, although i will look at doing it so that |
No worries, I understand that's an internal deadline. Just want to clarify that this probably won't be changed on our side for days or weeks. If the 1 day deadline on your side is a firm deadline, then you may want to prioritize finding a quick workaround to meet your deadline and then come back later if you're still interested in contributing the package update. Unfortunately this would be a breaking change for us. I can still accept the PR, but you'll need to chase down the |
Wait, something is wrong. You said the dependency path is The "^0.5.1" semver pattern is not supposed to match version "0.9.1". "^" means you can only get patch updates if the major version is still zero. If your package manager installed shelljs v0.9.1, then your package manager is doing the wrong thing. It's a miracle the |
you're right, it's a miracle indeed ; or maybe not :) i have read its entire source code to address "can we use a npm override or not" and it was ok to force their we could also have made a fork, but looking at how many fork currently existing and still none of them are properly maintained, i made the call not to add one more of them to the mix and confuse the community further. (if you have a time) you can check their issues and will see i've been looking into solutions to solve this as well as running mailin with node^20 (it was node^14 compliant). mailin itself is unmaintained for about 8y i think so we had no other choice than adding a override entry to our package.json. nobody reads the issue, nobody pushes updates. i could very well add one more override of execa but execa is not a direct dependency of mailin but rather shelljs and since it's still maintained i thought there's a chance to kindly ask for an upgrade and make the whole community beneficiate from this bump, while it was not possible for mailin because nobody seems to care anymore. |
Well, I'm impressed. I didn't know you could even do that! |
@nfischer it was added in npm since v9 (i think) under |
Fixed in shelljs v0.10. Thanks for the contribution! |
Uh oh!
There was an error while loading. Please reload this page.
we're now at execa@9.5.2 - a bump of 8 majors seems risky with overrides. any chance to work at this?
PS: i'm willing to help if needed.
The text was updated successfully, but these errors were encountered: