Skip to content

GHSA-p498-v437-472g @humanfs/node: Recursive copy follows symlinks and copies files from outside the source tree - #1119

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/openam-ui/openam-ui-js-sdk/humanfs/node-0.16.8
Open

GHSA-p498-v437-472g @humanfs/node: Recursive copy follows symlinks and copies files from outside the source tree#1119
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/openam-ui/openam-ui-js-sdk/humanfs/node-0.16.8

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 3, 2026

Copy link
Copy Markdown
Contributor

Bumps @humanfs/node from 0.16.7 to 0.16.8 in openam-ui-js-sdk (GHSA-p498-v437-472g, CWE-22, CVSS 4.0 5.7 medium, patched in 0.16.8). The bump carries @humanfs/core 0.19.1 -> 0.19.2 and adds @humanfs/types 0.15.0, which the fixed release now needs at runtime.

copyAll() handed every non-directory entry to copy(), which delegates to fs.promises.copyFile() - and that dereferences symlinks. A symlink planted inside an attacker-controlled source tree therefore made a recursive copy read its target and write the contents into the destination, pulling in any file readable by the process from outside the tree being copied. The same applied to copy() when the source path itself was a symlink. 0.16.8 copies symlinks as symlinks in both.

Scope in OpenAM: @humanfs/node is a dev-only transitive dependency of eslint@10.7.0 (config file loading), reached from openam-ui/openam-ui-js-sdk alone - it is not part of any runtime dependency tree and does not ship in the WAR. Linting never performs a recursive directory copy, so nothing in the build was exploitable; this keeps the toolchain clean of the advisory.

Verified:

  • lock-file-only change, no package.json edit needed - eslint requires @humanfs/node@^0.16.6 and 0.16.8 satisfies it
  • all three integrity hashes match npm view <pkg> dist.integrity for @humanfs/node@0.16.8, @humanfs/core@0.19.2 and @humanfs/types@0.15.0
  • openam-ui/openam-ui-js-sdk/package-lock.json is the only lock file in the repository that resolves @humanfs/node, so no sibling module is left on the vulnerable version

Upstream: release notes - changelog - 22bbaa4 (symlink fix) - 956ce7a (ship type deps at runtime)

Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases)
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node)

---
updated-dependencies:
- dependency-name: "@humanfs/node"
  dependency-version: 0.16.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Sep 3, 2026
@vharseko vharseko changed the title Bump @humanfs/node from 0.16.7 to 0.16.8 in /openam-ui/openam-ui-js-sdk GHSA-p498-v437-472g @humanfs/node: Recursive copy follows symlinks and copies files from outside the source tree Sep 3, 2026
@vharseko vharseko added the security Security fix or hardening (CVE, GHSA, XSS/CSRF/SSRF) label Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code security Security fix or hardening (CVE, GHSA, XSS/CSRF/SSRF)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant