home / blog

2026-10-31 · bassa

CVE-2026-118776: Padding validation difettosa in node-forge

Validazione padding PKCS#7 incompleta in node-forge: dati manomessi potrebbero essere accettati come validi.

CVE-2026-118776: Padding validation difettosa in node-forge

CVE-2026-118776 riguarda node-forge, una libreria JavaScript che implementa TLS. La vulnerabilità risiede in decipher.finish() su modalità CBC e ECB: la validazione del padding PKCS#7 è incompleta. Il codice controlla solo l'ultimo byte anziché validare l'intera sequenza di padding. Questo permette l'accettazione di ciphertext manomesso, silenziosamente scartando fino a 4 blocchi di plaintext e compromettendo l'integrità dei dati.

Il CVSS ufficiale è 3,7, classificato come LOW. L'impatto pratico è contenuto perché dipende da applicazioni che trattano il successo della decifratura come validazione dell'integrità. La falla è stata corretta in node-forge 1.4.1, disponibile da fine giugno 2026. Un advisory è stato pubblicato su GitHub il 30 ottobre, il giorno dopo la pubblicazione NVD del 29 ottobre, confermando la coerenza tra le fonti.

I team IT e gli amministratori di sistema devono verificare immediatamente se node-forge è utilizzato come dipendenza diretta o indiretta (è scaricata 53 milioni di volte a settimana). Aggiornare alla versione 1.4.1 o successiva è prioritario per le applicazioni che usano modalità CBC o ECB. Se non è possibile aggiornare immediatamente, documentare il rischio e pianificare l'upgrade entro 30 giorni. Controllare i log di modifica della dipendenza per confermare la versione in produzione.

In sintesi

Cosa
node-forge implementa TLS in JavaScript. La falla risiede in decipher.finish() su modalità CBC ed ECB, dove la validazione del padding PKCS#7 è incompleta: controlla solo l'ultimo byte anziché l'intera sequenza. Questo consente l'accettazione di ciphertext manomesso, scartando silenziosamente fino a 4 blocchi di plaintext e compromettendo l'integrità dei dati.
Gravità
CVSS 3,7 (LOW). L'impatto pratico è contenuto: riguarda applicazioni che trattano il successo della decifratura come validazione dell'integrità. La vulnerabilità permetterebbe corruption silenzioso di fino a 4 blocchi plaintext. Tuttavia l'accesso è solitamente vincolato e l'impatto dipende dalla configurazione.
Versioni interessate
Tutte le versioni precedenti a 1.4.1. La documentazione ufficiale non specifica intervalli granulari, ma la correzione è stata introdotta in 1.4.1, disponibile da fine giugno 2026.
Correzione
Aggiornare node-forge alla versione 1.4.1 o successiva. La patch corregge la validazione completa della sequenza di padding PKCS#7 in CBC e ECB.
Stato
Vulnerabilità confermata e corretta. CVE pubblicato su NVD il 29 ottobre 2026. Advisory GitHub il 30 ottobre 2026. La coerenza tra fonti conferma l'affidabilità della segnalazione.
Azione
Verificare immediatamente le dipendenze node-forge (53 milioni download/week). Aggiornare a 1.4.1+ per applicazioni che usano CBC o ECB. Se l'aggiornamento immediato non è possibile, documentare il rischio e pianificare l'upgrade entro 30 giorni. Controllare la versione in produzione tramite i log.

Fonti: NVD, CVE-2026-118776

← Tutti gli articoli