Vundebleco en la pac-resolver NPM-pakaĵo kun 3 milionoj da elŝutoj semajne

La pac-resolver NPM-pakaĵo, kiu havas pli ol 3 milionojn da elŝutoj semajne, havas vundeblecon (CVE-2021-23406) kiu permesas ĝian JavaScript-kodon esti ekzekutita en la kunteksto de la aplikaĵo dum sendado de HTTP-petoj de Node.js projektoj kiuj subtenas aŭtomate-agordan funkcion de prokura servilo.

La pac-resolver-pakaĵo analizas PAC-dosierojn, kiuj inkluzivas aŭtomatan prokuran agordan skripton. La PAC-dosiero enhavas regulan JavaScript-kodon kun FindProxyForURL-funkcio, kiu difinas la logikon por elekti prokurilon depende de la gastiganto kaj la petita URL. La esenco de la vundebleco estas, ke por ekzekuti ĉi tiun JavaScript-kodon en pac-resolver, la VM API provizita en Node.js estis uzata, kiu ebligas al vi ekzekuti JavaScript-kodon en malsama kunteksto de la V8-motoro.

La specifita API estas eksplicite markita en la dokumentaro kiel ne celita por ruli nefidinda kodo, ĉar ĝi ne provizas kompletan izolitecon de la kodo rulita kaj permesas aliron al la origina kunteksto. La problemo estis solvita en pac-resolver 5.0.0, kiu estis movita por uzi la vm2-bibliotekon, kiu disponigas pli altan nivelon de izoliteco taŭga por ruli nefiditan kodon.

Vundebleco en la pac-resolver NPM-pakaĵo kun 3 milionoj da elŝutoj semajne

Kiam vi uzas vundeblan version de pac-resolver, atakanto per transdono de speciale desegnita PAC-dosiero povas atingi ekzekuton de sia JavaScript-kodo en la kunteksto de la kodo de projekto uzanta Node.js, se ĉi tiu projekto uzas bibliotekojn, kiuj havas dependecojn. kun pac-solvento. La plej populara el la problemaj bibliotekoj estas Proxy-Agent, listigita kiel dependeco de 360 ​​projektoj, inkluzive de urllib, aws-cdk, mailgun.js kaj firebase-tools, nombrante pli ol tri milionojn da elŝutoj semajne.

Se aplikaĵo, kiu havas dependecojn de pac-resolver, ŝarĝas PAC-dosieron provizitan de sistemo, kiu subtenas la protokolon de aŭtomata agorda prokurilo WPAD, tiam atakantoj kun aliro al la loka reto povas uzi la distribuadon de prokuraj agordoj per DHCP por enmeti malicajn PAC-dosierojn.

fonto: opennet.ru

Aldoni komenton