CVE-2026-84367 in joi
Riassunto
di VulDB • 02/09/2026
joi è un linguaggio di descrizione degli schemi e un validatore per JavaScript. Dalla versione 16.0.0 fino alle versioni 17.13.5 e 18.2.4, l'implementazione interna `internals.rename()` di joi utilizzata da `object().rename()` consente uno schema che rinomina le chiavi con una sorgente basata su espressioni regolari e un target tramite `Joi.expression()` o `Joi.x()` che interpola i dati di match dello stesso pattern, combinato con `{ multiple: true }`, per derivare un target da una chiave controllata dall'attaccante. Un attaccante può inviare `x-__proto__` con un valore oggetto, causando la renderizzazione del target come `__proto__` e l'impostazione del prototipo dell'oggetto restituito da `validate()` invece della creazione di una proprietà propria (own key). Il `Object.prototype` globale non viene modificato, quindi l'effetto è confinato all'oggetto restituito da quella specifica chiamata di validazione. I target con stringhe statiche e gli schemi che utilizzano `{ multiple: false }` predefinito non sono interessati. Questo problema è risolto nelle versioni 17.13.5 e 18.2.4.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.