chore: opensheetmusicdisplay / osmd-audio-player の依存パッケージにセキュリティ脆弱性 (tar, jszip)

Chiusa
#5 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
javascript
Ambito
security

Direzione di ricerca

Start by running yarn audit and tracing the reported tar and jszip paths through opensheetmusicdisplay and osmd-audio-player. Investigate the upstream opensheetmusicdisplay dependency, then assess the proposed fork, build, and publication path; done means this repository uses updated packages meeting tar >=7.5.7 and jszip >=3.8.0.

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

Descrizione

概要

opensheetmusicdisplay および osmd-audio-player の依存パッケージに脆弱性のあるバージョンが含まれている。

yarn audit で 35 件の脆弱性が検出されている(High: 26, Moderate: 9)。

脆弱なパッケージ

tar (High)
  • パス: opensheetmusicdisplay > gl > node-gyp > tar, opensheetmusicdisplay > gl > node-gyp > make-fetch-happen > cacache > tar
  • 脆弱性: Arbitrary File Creation/Overwrite via Hardlink Path Traversal, Symlink Poisoning via Insufficient Path Sanitization
  • 修正バージョン: >=7.5.7
jszip (Moderate)
  • パス: opensheetmusicdisplay > jszip, osmd-audio-player > opensheetmusicdisplay > jszip
  • 脆弱性: Path Traversal via loadAsync
  • 修正バージョン: >=3.8.0

対応方針

本リポジトリ側では直接修正できない(上流パッケージの transitive dependency)。

時間があるときに以下を検討する:

  1. opensheetmusicdisplay 本家をフォークして依存パッケージを更新
  2. 更新済みパッケージとしてビルド・公開
  3. 本リポジトリの依存を更新済みフォーク版に差し替え

備考

  • tar の脆弱性は gl (OpenGL binding) 経由の node-gyp 由来で、ブラウザ向けビルドではランタイムリスクは低い
  • jszip はブラウザでも使われるためパストラバーサルのリスクがある
Lingua principale
Vue
Stelle
0
Fork
0
Merge medio
21m
PR unite (30g)
4

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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.

Issue simili

Altre issue su Security

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.