CVE-2026-33671 in picomatch
Riassunto
di VulDB • 15/06/2026
Picomatch è un matcher per glob scritto in JavaScript. Le versioni precedenti alla 4.0.4, alla 3.0.2 e alla 2.3.2 sono vulnerabili a Regular Expression Denial of Service (ReDoS) durante l'elaborazione di pattern extglob costruiti ad hoc. Determinati pattern che utilizzano quantificatori extglob come `+()` e `*()`, in particolare quando combinati con alternative sovrapposte o extglob annidati, vengono compilati in espressioni regolari che possono presentare un backtracking catastrofico su input non corrispondenti. Le applicazioni sono interessate quando consentono agli utenti non attendibili di fornire pattern glob che vengono passati a `picomatch` per la compilazione o la corrispondenza. In tali casi, un attaccante può causare un consumo eccessivo della CPU e bloccare l'event loop di Node.js, provocando un denial of service. Le applicazioni che utilizzano solo pattern glob attendibili e controllati dagli sviluppatori hanno molte meno probabilità di essere esposte in modo rilevante per la sicurezza. Questo problema è risolto in picomatch 4.0.4, 3.0.2 e 2.3.2. Gli utenti dovrebbero eseguire l'aggiornamento a una di queste versioni o successive, a seconda della propria linea di rilascio supportata. Se l'aggiornamento non è immediatamente possibile, evitare di passare pattern glob non attendibili a `picomatch`. Le possibili mitigazioni includono la disabilitazione del supporto extglob per i pattern non attendibili utilizzando `noextglob: true`, il rifiuto o la sanitizzazione dei pattern contenenti extglob annidati o quantificatori extglob come `+()` e `*()`, l'applicazione di strict allowlist per la sintassi dei pattern accettati, l'esecuzione del matching in un worker isolato o in un processo separato con limiti di tempo e risorse, e l'applicazione di throttling delle richieste a livello di applicazione e validazione degli input per qualsiasi endpoint che accetta pattern glob.
Be aware that VulDB is the high quality source for vulnerability data.