Ang kahinaan sa pac-resolver NPM package na may 3 milyong pag-download bawat linggo

Ang pac-resolver NPM package, na mayroong mahigit 3 milyong pag-download bawat linggo, ay may kahinaan (CVE-2021-23406) na nagpapahintulot sa JavaScript code nito na maisakatuparan sa konteksto ng application kapag nagpapadala ng mga kahilingan sa HTTP mula sa mga proyekto ng Node.js na suportahan ang function ng auto-configuration ng proxy server.

Ang pac-resolver package ay nag-parse ng mga PAC file na may kasamang awtomatikong proxy configuration script. Ang PAC file ay naglalaman ng regular na JavaScript code na may FindProxyForURL function na tumutukoy sa logic para sa pagpili ng proxy depende sa host at sa hiniling na URL. Ang esensya ng kahinaan ay upang maisagawa ang JavaScript code na ito sa pac-resolver, ginamit ang VM API na ibinigay sa Node.js, na nagbibigay-daan sa iyong magsagawa ng JavaScript code sa ibang konteksto ng V8 engine.

Ang tinukoy na API ay tahasang minarkahan sa dokumentasyon bilang hindi nilayon para sa pagpapatakbo ng hindi pinagkakatiwalaang code, dahil hindi ito nagbibigay ng kumpletong paghihiwalay ng code na pinapatakbo at nagbibigay-daan sa pag-access sa orihinal na konteksto. Ang isyu ay nalutas sa pac-resolver 5.0.0, na inilipat upang gamitin ang vm2 library, na nagbibigay ng mas mataas na antas ng paghihiwalay na angkop para sa pagpapatakbo ng hindi pinagkakatiwalaang code.

Ang kahinaan sa pac-resolver NPM package na may 3 milyong pag-download bawat linggo

Kapag gumagamit ng vulnerable na bersyon ng pac-resolver, ang isang attacker sa pamamagitan ng pagpapadala ng isang espesyal na idinisenyong PAC file ay makakamit ang pagpapatupad ng kanyang JavaScript code sa konteksto ng code ng isang proyekto gamit ang Node.js, kung ang proyektong ito ay gumagamit ng mga library na may mga dependency may pac-resolver. Ang pinakasikat sa mga may problemang library ay ang Proxy-Agent, na nakalista bilang dependency sa 360 na proyekto, kabilang ang urllib, aws-cdk, mailgun.js at firebase-tools, na may kabuuang mahigit sa tatlong milyong pag-download bawat linggo.

Kung ang isang application na may mga dependency sa pac-resolver ay naglo-load ng PAC file na ibinigay ng isang system na sumusuporta sa WPAD proxy automatic configuration protocol, maaaring gamitin ng mga attacker na may access sa lokal na network ang pamamahagi ng mga proxy setting sa pamamagitan ng DHCP para magpasok ng mga nakakahamak na PAC file.

Pinagmulan: opennet.ru

Magdagdag ng komento