Həftədə 3 milyon yükləmə ilə pac-resolver NPM paketində zəiflik

Həftədə 3 milyondan çox yükləməyə malik pac-resolver NPM paketində Node.js layihələrindən HTTP sorğuları göndərilərkən JavaScript kodunun tətbiq kontekstində icrasına imkan verən zəifliyə (CVE-2021-23406) malikdir. proksi serverin avtomatik konfiqurasiya funksiyasını dəstəkləyir.

Pac-resolver paketi avtomatik proksi konfiqurasiya skripti olan PAC fayllarını təhlil edir. PAC faylı host və tələb olunan URL-dən asılı olaraq proksi seçmək üçün məntiqi müəyyən edən FindProxyForURL funksiyası ilə müntəzəm JavaScript kodunu ehtiva edir. Zəifliyin mahiyyəti ondan ibarətdir ki, bu JavaScript kodunu pac-resolver-də icra etmək üçün Node.js-də təqdim olunan VM API-dən istifadə edilib ki, bu da JavaScript kodunu V8 mühərrikinin fərqli kontekstində icra etməyə imkan verir.

Göstərilən API sənədlərdə açıq şəkildə etibarsız kodu işə salmaq üçün nəzərdə tutulmadığı kimi qeyd olunub, çünki o, işə salınan kodun tam təcridini təmin etmir və orijinal kontekstə daxil olmağa imkan verir. Problem pac-resolver 5.0.0-da həll edildi, o, etibarsız kodu işlətmək üçün uyğun olan daha yüksək səviyyəli izolyasiyanı təmin edən vm2 kitabxanasından istifadə etməyə köçürüldü.

Həftədə 3 milyon yükləmə ilə pac-resolver NPM paketində zəiflik

Pac-resolver-in həssas versiyasından istifadə edərkən, xüsusi hazırlanmış PAC faylının ötürülməsi vasitəsilə təcavüzkar, əgər bu layihə asılılıqları olan kitabxanalardan istifadə edirsə, Node.js-dən istifadə edən layihənin kodu kontekstində öz JavaScript kodunun icrasına nail ola bilər. pac-resolver ilə. Problemli kitabxanalardan ən populyarı urllib, aws-cdk, mailgun.js və firebase-tools daxil olmaqla 360 layihədən asılı olaraq siyahıya alınmış Proxy-Agentdir və həftədə cəmi üç milyondan çox endirilir.

Əgər pac-resolver-dən asılılığı olan proqram WPAD proxy avtomatik konfiqurasiya protokolunu dəstəkləyən sistem tərəfindən təmin edilmiş PAC faylını yükləyirsə, yerli şəbəkəyə çıxışı olan təcavüzkarlar zərərli PAC fayllarını daxil etmək üçün DHCP vasitəsilə proksi parametrlərinin paylanmasından istifadə edə bilərlər.

Mənbə: opennet.ru

Добавить комментарий