pdfkit npm package ships the Yarn 4.16.0 binary (.yarn/releases) with outdated tar/js-yaml/got/picomatch

Chiusa Adatta ai principianti
#1,853 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript, nodejs
Ambito
release

Direzione di ricerca

Il tarball pubblicato include .yarn/ e .yarnrc.yml, che non sono esclusi dal .npmignore del repository. Inizia leggendo .npmignore e confrontandolo con il campo files in package.json, poi esegui npm pack --dry-run per elencare ciò che viene pubblicato. È fatto quando il dry run non elenca più né .yarn/ né .yarnrc.yml, con la modifica che è una voce di ignore aggiunta oppure una allowlist. Chiedi ai maintainer quale approccio preferiscono.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Since 0.18.0 the pdfkit tarball includes .yarn/releases/yarn-4.16.0.cjs (plus .yarn/install-state.gz and .yarnrc.yml). .npmignore does not exclude .yarn/. That file is a full Yarn bundle with these inlined libraries:

  • tar 7.5.9: CVE-2026-29786 / CVE-2026-31802 (drive-relative link path traversal), CVE-2026-59871/59873/59874/59875/73566 (parser DoS/crash)
  • js-yaml 3.14.1: CVE-2025-64718 (merge prototype pollution), CVE-2026-53550, CVE-2026-59869, GHSA-5p4m-2wfm-xmqj (quadratic CPU in merge/omap)
  • got 11.8.2: CVE-2022-33987 (redirect to UNIX socket). micromatch 4.0.5: CVE-2024-4067 (ReDoS). picomatch 2.3.1/4.0.3: CVE-2026-33671 (extglob ReDoS)

None of these are declared in pdfkit's package.json, so npm audit and SCA tools cannot flag them for you or for pdfkit users, but they sit in every node_modules/pdfkit. pdfkit never loads the file, so this is about removing files that are published but unused.

Because the copy ships where dependency audits cannot see it, it is easy to miss. We would suggest updating it when convenient, and sooner if untrusted input can reach it in your setup.

Suggested fix: add .yarn/ and .yarnrc.yml to .npmignore (or add a files allowlist) and publish a new version. Bumping Yarn alone does not help, because Yarn 4.18.1 still bundles the same versions.

Lingua principale
JavaScript
Stelle
10.7k
Fork
1.2k
Merge medio
21h 41m
PR unite (30g)
27

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di foliojs/pdfkit

Tutte le issue di foliojs/pdfkit

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.