Bypass della verifica nella libreria xml-crypto, che conta un milione di download a settimana

Nella libreria JavaScript xml-crypto, utilizzata come dipendenza in 402 progetti e scaricata dal catalogo NPM circa un milione di volte a settimana, è stata rilevata una vulnerabilità (CVE-2024-32962) a cui è stato assegnato il massimo livello di gravità (10 su 10). La libreria fornisce funzioni per la crittografia e la verifica delle firme digitali nei documenti XML. La vulnerabilità consente a un attaccante di convalidare un documento fasullo, che nella configurazione predefinita verrà verificato con successo dalla libreria, anche se è firmato con una chiave diversa da quella specificata per la verifica. Il problema si manifesta a partire dalla versione xml-crypto 4.0.0 ed è stato risolto senza eccessiva pubblicità nella release di gennaio 6.0.0.

La vulnerabilità è causata dal fatto che nella configurazione predefinita la libreria non autorizza il creatore della firma, ma controlla solo la validità della firma stessa. In particolare, la libreria si fida di qualsiasi certificato presente nel documento firmato nell'elemento XML KeyInfo, anche se nelle impostazioni è specificato di utilizzare un certificato specifico per la verifica delle firme digitali. Pertanto, per una verifica di successo di un documento modificato, è sufficiente che l'attaccante sostituisca la firma digitale originale con una firma generata con la propria chiave privata e inserisca il certificato associato a questa chiave privata (chiave pubblica) nell'elemento KeyInfo.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster