Vulnerabilitat al paquet pac-resolver NPM amb 3 milions de descàrregues per setmana

El paquet pac-resolver NPM, que té més de 3 milions de descàrregues per setmana, té una vulnerabilitat (CVE-2021-23406) que permet executar el seu codi JavaScript en el context de l'aplicació quan s'envien peticions HTTP des de projectes Node.js que admet la funció de configuració automàtica del servidor intermediari.

El paquet pac-resolver analitza fitxers PAC que inclouen un script de configuració automàtic de proxy. El fitxer PAC conté codi JavaScript normal amb una funció FindProxyForURL que defineix la lògica per triar un servidor intermediari en funció de l'amfitrió i de l'URL sol·licitat. L'essència de la vulnerabilitat és que per executar aquest codi JavaScript en pac-resolver, es va utilitzar l'API de VM proporcionada a Node.js, que us permet executar codi JavaScript en un context diferent del motor V8.

L'API especificada està marcada explícitament a la documentació com a no destinada a executar codi no fiable, ja que no proporciona un aïllament complet del codi que s'està executant i permet l'accés al context original. El problema s'ha resolt a pac-resolver 5.0.0, que s'ha mogut per utilitzar la biblioteca vm2, que proporciona un nivell més alt d'aïllament adequat per executar codi no fiable.

Vulnerabilitat al paquet pac-resolver NPM amb 3 milions de descàrregues per setmana

Quan utilitza una versió vulnerable de pac-resolver, un atacant, mitjançant la transmissió d'un fitxer PAC dissenyat especialment, pot aconseguir l'execució del seu codi JavaScript en el context del codi d'un projecte que utilitza Node.js, si aquest projecte utilitza biblioteques que depenen del pac-resolver. La més popular de les biblioteques problemàtiques és Proxy-Agent, que apareix com a dependència de projectes 360, inclosos urllib, aws-cdk, mailgun.js i firebase-tools, amb un total de més de tres milions de descàrregues per setmana.

Si una aplicació que té dependències de pac-resolver carrega un fitxer PAC proporcionat per un sistema que admet el protocol de configuració automàtica del servidor intermediari WPAD, els atacants amb accés a la xarxa local poden utilitzar la distribució de la configuració del servidor intermediari mitjançant DHCP per inserir fitxers PAC maliciosos.

Font: opennet.ru

Afegeix comentari