Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

fix(changelog): validate each field inside version_sort_key before shell arithmetic

Aperta Adatta ai principianti
#9,211 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
79/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
bash
Ambito
security, testing

Direzione di ricerca

Leggi scripts/check-changelog-parity.sh, in particolare version_sort_key alle righe 220–224, e segui i chiamanti e la validazione descritti nell’issue. Aggiungi un test che verifichi che un campo contenente $(...) venga rifiutato prima delle operazioni aritmetiche e non esegua nulla; il lavoro è completato quando i campi non validi vengono rifiutati in modo sicuro con codice di uscita 2 e l’ordinamento esistente delle versioni valide continua a funzionare.

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

Descrizione

area: security needs-triage priority: low

Refs: #9182

version_sort_key in scripts/check-changelog-parity.sh (lines 220-224 on main) feeds each dot-separated field to $((10#${1:-0})). Bash arithmetic evaluates array subscripts, so a field shaped like 1 * a[$(cmd)] runs cmd. Reproduced with that function body:

f x "1 * a[\$(echo PWNED>&2)]"   ->  prints PWNED

Reachability today: none found. Every caller passes a value that is already restricted to digits:

  • :413 (--check-order) and :466 take headings from changelog_versions. Its grep -oE (:306-307) admits only [0-9]+.[0-9]+(.[0-9]+)? plus a [+-] tail, and the function strips that tail before splitting.
  • :467, :867 and :868 take manifest versions that the regex ^[0-9]+\.[0-9]+\.[0-9]+([+-].*)?$ checks first (:453, :860).

So this is hardening. The function's safety rests on every caller validating first, and the parity check runs on pull request content.

Fix: inside version_sort_key, refuse any field that is not ^[0-9]+$, failing closed (exit 2), before the arithmetic runs. Add a test that a field holding $(...) is refused and runs nothing.

Found in the security review of #9182.

Lingua principale
Shell
Stelle
22
Fork
2
Merge medio
3h 42m
PR unite (30g)
938

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 melodic-software/claude-code-plugins

Tutte le issue di melodic-software/claude-code-plugins

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.