Ny vulnerability amin'ny cdnjs izay mamela ny famonoana kaody amin'ny mpizara Cloudflare

Misy vulnerable manakiana hita ao amin'ny tambajotran'ny cdnjs Cloudflare's cdnjs, izay natao hanafaingana ny fandefasana ny tranokala JavaScript, mamela ny famonoana kaody tsy misy dikany amin'ny mpizara CDN. Ny loza ateraky ny olana dia mihamitombo noho ny zava-misy fa manodidina ny 12.7% amin'ny tranokala rehetra amin'ny Internet no mampiasa ny serivisy hisintona ny tranokala JavaScript, ary ny marimaritra iraisana amin'ny fotodrafitrasa dia ahafahana manolo ny tranomboky omen'ny iray amin'ireo tranonkala ireo.

Ny serivisy cdnjs dia misintona fonosana avy amin'ny Git na tahiry NPM, aorian'izay dia ahafahan'ny tranokala rehetra mampiasa maimaim-poana ny tambajotra fanaterana votoaty Cloudflare hanafaingana ny fampidinana ny tranomboky JavaScript. Rehefa nandinika ny kaody amin'ny singa cdnjs navoaka tao amin'ny GitHub, dia nambara fa mba hamahana ny fonosana NPM ao amin'ny tgz archives dia ampiasaina ny maodely archive/tar amin'ny fiteny Go, izay mamokatra lisitr'ireo rakitra toy ny mahazatra, nefa tsy manara-dalàna ny lalana. . Raha toa ka mamoha ny atiny mifototra amin'ny lisitra nomena ny script, ny fisian'ny rakitra toy ny "../../../../../../../tmp/test" dia afaka mitarika ho amin'ny overwriting antontan-taratasy tsy manara-penitra ao amin'ny rafitra, raha ny zo fidirana mamela.

Soso-kevitra fa ny mpanafika iray dia afaka mangataka ny hampiditra ny tranomboky ao amin'ny cdnjs ary mampakatra arisiva natao manokana misy rakitra misy tarehintsoratra "../" eo amin'ny lalana mankany amin'ny tahiry NPM. Ao amin'ny lohamilina cdnjs, misy hetsika "autoupdate" atao tsindraindray, ka mandritra izany no ametrahan'ny mpitantana ny dikan-teny vaovao amin'ny tranomboky natolotra ary hamoahana ny ao anatiny. Amin'ny fampiasana rakitra misy lalana "../", ny mpanafika dia afaka mandika ny rakitra miaraka amin'ny script serivisy ary manatanteraka ny kaody ao amin'ny lohamilina izay nanaovana ny famoahana azy.

Raha ny momba ny fampidinana ny fanavaozana avy amin'ny Git dia hita fa ny mpandrindra ny fampidinana ireo fanavaozana dia tsy niraharaha rohy an'ohatra rehefa mandika rakitra avy amin'ny Git. Io endri-javatra io dia nahafahana nandamina ny famakiana ny rakitra rehetra avy amin'ny mpizara amin'ny alàlan'ny fampidirana rohy an'ohatra amin'ny Git.

Tapa-kevitra ny hanomboka andrana amin'ny fihetsiketsehana fijirihana ny cdnjs mba hahazoana loka amin'ny HackerOne amin'ny alàlan'ny fitsapana ny vinavina momba ny famakiana rakitra. Nisy rohy test.js nampiana tao amin'ny fitahirizana Git an'ny tranomboky JavaScript atolotra amin'ny alàlan'ny CDN, manondro ny rakitra /proc/self/maps. Taorian'ny famoahana dikan-teny vaovao amin'ny tranomboky, ny mpitantana ny fanavaozana dia nikarakara ity tahiry ity ary namoaka ny rakitra voatondro ao amin'ny cdnjs (test.js dia noforonina ho rohy an'ohatra ary rehefa nangatahana ity rakitra ity dia naverina ny votoatin'ny /proc/self/maps. ).

Ny fanoloana rohy an'ohatra amin'ny rakitra /proc/self/environ, ny mpanoratra ny fanadihadiana dia nahatsikaritra fa ny angon-drakitra nomena dia misy ny soatoavin'ny fari-piainana GITHUB_REPO_API_KEY sy WORKERS_KV_API_TOKEN. Ny fari-piadidiana voalohany dia nitahiry ny fanalahidin'ny API hanoratana ny fidirana amin'ny tahiry robocdnjs ao amin'ny GitHub. Ny fari-piadidiana faharoa dia nitahiry ny famantarana ho any amin'ny fitahirizana KV amin'ny cdnjs. Amin'ny fampiasana ny vaovao voaray, ny mpanafika dia afaka manova ny cdnjs ary mampandefitra tanteraka ny fotodrafitrasa.

Source: opennet.ru

Add a comment