fix(changelog): validate each field inside version_sort_key before shell arithmetic
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
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
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:466take headings fromchangelog_versions. Itsgrep -oE(:306-307) admits only[0-9]+.[0-9]+(.[0-9]+)?plus a[+-]tail, and the function strips that tail before splitting.:467,:867and:868take 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
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di melodic-software/claude-code-plugins
-
admission-deferred priority: medium status: ready work-class: scoped
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
melodic-software/claude-code-plugins#9914 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
priority: low status: ready work-class: mechanical
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
melodic-software/claude-code-plugins#9911 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
priority: medium status: ready work-class: scoped
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
melodic-software/claude-code-plugins#9901 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
admission-deferred needs-human needs-triage status: needs-decision
Difficoltà 2/5 1-2 giorni Idoneità per principianti 78/100
melodic-software/claude-code-plugins#9865 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
fix(pr-pipeline): name the missing dependencies permission when an intake edge write gets 403Apertapriority: medium status: needs-decision work-class: scoped
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
melodic-software/claude-code-plugins#9855 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di melodic-software/claude-code-plugins
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
resource-submission validation-passed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 67/100
hesreallyhim/awesome-claude-code#3264 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: install bug good first issue hacktoberfest
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 3 giorni
-
Good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
armbian/build#11107 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno