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

[pull] master from eirslett:master #37

Open
wants to merge 107 commits into
base: master
Choose a base branch
from

Conversation

pull[bot]
Copy link

@pull pull bot commented Oct 1, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

Cavva79 and others added 7 commits December 27, 2017 18:12
Adds http_proxy and https_proxy for npm runs, useful for npm
postinstalls that use pure node <postinstall-script>.js to get the proxy
without workarounds.
Those variables are needed for postinstall steps using node scripts
This fixes a Zip-Slip vulnerability.

This change does one of two things. This change either

1. Inserts a guard to protect against Zip Slip.
OR
2. Replaces `dir.getCanonicalPath().startsWith(parent.getCanonicalPath())`, which is vulnerable to partial path traversal attacks, with the more secure `dir.getCanonicalFile().toPath().startsWith(parent.getCanonicalFile().toPath())`.

For number 2, consider `"/usr/outnot".startsWith("/usr/out")`.
The check is bypassed although `/outnot` is not under the `/out` directory.
It's important to understand that the terminating slash may be removed when using various `String` representations of the `File` object.
For example, on Linux, `println(new File("/var"))` will print `/var`, but `println(new File("/var", "/")` will print `/var/`;
however, `println(new File("/var", "/").getCanonicalPath())` will print `/var`.

Weakness: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Severity: High
CVSSS: 7.4
Detection: CodeQL (https://codeql.github.com/codeql-query-help/java/java-zipslip/) & OpenRewrite (https://public.moderne.io/recipes/org.openrewrite.java.security.ZipSlip)

Reported-by: Jonathan Leitschuh <[email protected]>
Signed-off-by: Jonathan Leitschuh <[email protected]>

Bug-tracker: JLLeitschuh/security-research#16

Co-authored-by: Moderne <[email protected]>
This commit fixes the following issues for pnpm:

- Comment mismatch
- pnpm is never "provided" by Node.js, so <pnpmVersion> is required.
- Java class name camel casing: PNPMInstaller -> PnpmInstaller
…zip-slip-vulnerability

[SECURITY] Fix Zip Slip Vulnerability
@CLAassistant
Copy link

CLAassistant commented Oct 1, 2022

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
0 out of 4 committers have signed the CLA.

❌ lalo-mx
❌ eirslett
❌ kelunik
❌ giftkugel
You have signed the CLA already but the status is still pending? Let us recheck it.

@pull pull bot added the ⤵️ pull label Oct 1, 2022
eirslett and others added 21 commits October 2, 2022 18:27
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.13.0 to 2.13.2.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
…in-core/com.fasterxml.jackson.core-jackson-databind-2.13.2.1

Bump jackson-databind from 2.13.0 to 2.13.2.1 in /frontend-plugin-core
When no pnpm or pnpm.cmd are available, create a symlink to node_modules/pnpm/bin/pnpm.cjs
…ng-directory

IT: custom-working-directory: bump deps etc.
…ll-directory

IT custom-install-directory-bump-deps
eirslett and others added 30 commits October 26, 2023 00:44
…fore-write

Download files fully before write to disk
Otherwise, relative installDirectory paths cannot be used because the zip-slip
check fails with "Bad zip entry" exception even the zip is fine.

Closes #1124
* initial bun integration

* fixing integration tests

* fixing integration tests

* fixing integration tests

* adding invoker properties

* bun install

* fix log output

* update bun integration test to version 1.0.10
Furthermore, prevent errors in case of berry usage
and attempt to add arguments, which are not supported
by berry.
Java 11 (because Java 8 causes issues on GitHub Actions)
Add npx to lifecycle-mapping-metadata.xml. Fixes #1150.
This adds some basic support for using corepack to manage the tooling
via the 'packageManager' field in the package.json. Here we add the
ability to download a version of it along with a node version, along
with the ability to execute command via corepack such as 'pnpm install'
or 'yarn install' depending on the selected package manager.

Later we ought to work out how to use the version packaged with the node
runtime, but this was inspired by the pnpm download which is downloaded
separately, and so this is too.
In most uses, users will want to ues the version of corepack provided
with the NodeJS version they are using, and the plugin now supports this
mode of usage by default if no corepack version is explicitly provided.
This disables TLSv1.3 and changes global state that shouldn't be changed.

Fixes #1170.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.