release ng web content management system . Ang paglabas ay kapansin-pansin para sa pagkumpleto nito sa pagpapatupad pagsuri ng mga update at pagdaragdag gamit ang isang digital na lagda.
Hanggang ngayon, kapag nag-i-install ng mga update sa WordPress Ang pangunahing salik sa pagtiyak ng seguridad ay ang tiwala sa imprastraktura at mga server WordPress (Pagkatapos mag-download, sinuri ang hash nang hindi bineberipika ang pinagmulan). Kung nakompromiso ang mga server ng proyekto, nagkaroon ng pagkakataon ang mga umaatake na palitan ang update at ipamahagi ang malisyosong code sa mga site batay sa WordPress, gamit ang sistema ng pag-install ng awtomatikong pag-update. Sa ilalim ng dating ginagamit na modelo ng trusted delivery, ang ganitong pagpapalit ay hindi mapapansin ng mga gumagamit.
Isinasaalang-alang ang katotohanan na proyekto ng plataporma ng w3techs WordPress ginagamit ng 33.8% ng mga website sa Internet, ang isang insidente ay magiging isang kapaha-pahamak. Bukod dito, ang panganib ng pagkakompromiso sa imprastraktura ay hindi haka-haka lamang, ngunit totoong-totoo. Halimbawa, ilang taon na ang nakalilipas, isang mananaliksik sa seguridad isang kahinaan na nagbigay-daan sa isang attacker na isagawa ang kanyang code sa server side ng api.wordpress.org.
Sa kaso ng mga digital na lagda, ang pagkakaroon ng kontrol sa server ng pamamahagi ng pag-update ay hindi hahantong sa kompromiso ng mga sistema ng gumagamit, dahil upang magsagawa ng isang pag-atake, kakailanganin mo ring kumuha ng hiwalay na nakaimbak na pribadong key, kung saan nilagdaan ang mga update.
Ang pagpapatupad ng pagsuri sa pinagmulan ng mga update gamit ang isang digital na lagda ay nahadlangan ng katotohanan na ang suporta para sa mga kinakailangang cryptographic algorithm ay lumitaw sa karaniwang PHP package na medyo kamakailan. Ang mga kinakailangang cryptographic algorithm ay lumitaw salamat sa pagsasama ng library sa pangunahing pangkat Ngunit bilang isang minimum na sinusuportahan sa WordPress Mga bersyon ng PHP Paglabas 5.2.4 (simula sa WordPress 5.2 - 5.6.20). Ang pagpapagana ng suporta para sa mga digital na lagda ay maaaring magpataas nang malaki sa mga kinakailangan para sa minimum na sinusuportahang bersyon ng PHP o magdaragdag ng panlabas na dependency, na hindi magagawa ng mga developer dahil sa laganap na paggamit ng mga bersyon ng PHP sa mga hosting system.
Ang solusyon ay at pagsasama sa komposisyon WordPress 5.2 compact na variant ng Libsodium - , kung saan ang isang minimum na hanay ng mga algorithm para sa pag-verify ng mga digital na lagda ay ipinatupad sa PHP. Ang pagpapatupad ay nag-iiwan ng maraming nais sa mga tuntunin ng pagganap, ngunit ganap na malulutas ang problema sa pagiging tugma, at pinapayagan din ang mga developer ng plugin na simulan ang pagpapatupad ng mga modernong cryptographic algorithm.
Ang isang algorithm ay ginagamit upang makabuo ng mga digital na lagda , na binuo sa partisipasyon ni Daniel J. Bernstein. Isang digital signature ang nabuo para sa SHA384 hash value na kinakalkula mula sa mga nilalaman ng update archive. Ang Ed25519 ay may mas mataas na antas ng seguridad kaysa sa ECDSA at DSA, at nagpapakita ng napakataas na bilis ng pag-verify at paggawa ng lagda. Ang paglaban sa pag-hack para sa Ed25519 ay humigit-kumulang 2^128 (sa karaniwan, ang pag-atake sa Ed25519 ay mangangailangan ng 2^140 bit na operasyon), na tumutugma sa paglaban ng mga algorithm tulad ng NIST P-256 at RSA na may pangunahing sukat na 3000 bits o 128-bit block cipher. Ang Ed25519 ay hindi rin madaling kapitan ng mga problema sa mga banggaan ng hash, at hindi madaling kapitan ng mga pag-atake sa timing ng cache o pag-atake sa side-channel.
Sa isyu WordPress 5.2 Ang beripikasyon ng digital signature sa kasalukuyan ay sumasaklaw lamang sa mga pangunahing update sa platform at hindi hinaharangan ang update bilang default, ngunit ipinapaalam lamang sa gumagamit ang isyu. Napagpasyahan na huwag paganahin ang pagharang bilang default dahil sa pangangailangan para sa isang buong pagsusuri at pag-bypass. . Sa hinaharap, pinlano din na magdagdag ng digital signature verification upang i-versify ang pinagmulan ng pag-install ng mga tema at plugin (magagawang lagdaan ng mga tagagawa ang mga release gamit ang kanilang susi).
Bukod sa pagsuporta sa mga digital na lagda, WordPress 5.2 Mapapansin ang mga sumusunod na pagbabago:
- Dalawang bagong pahina ang idinagdag sa seksyong "Kalusugan ng Site" para sa pag-debug ng mga karaniwang problema sa pagsasaayos, at nagbigay din ng isang form kung saan maaaring iwanan ng mga developer ang impormasyon sa pag-debug sa mga administrator ng site;
- Idinagdag ang pagpapatupad ng "puting screen ng kamatayan", na ipinapakita sa kaso ng mga nakamamatay na problema at tinutulungan ang administrator na independiyenteng ayusin ang mga problemang nauugnay sa mga plugin o tema sa pamamagitan ng paglipat sa isang espesyal na mode ng pagbawi ng pag-crash;
- Ang isang sistema para sa pagsuri sa pagiging tugma sa mga plugin ay ipinatupad, na awtomatikong sinusuri ang posibilidad ng paggamit ng plugin sa kasalukuyang pagsasaayos, na isinasaalang-alang ang bersyon ng PHP na ginamit. Kung ang isang plugin ay nangangailangan ng isang mas bagong bersyon ng PHP upang gumana, awtomatikong haharangin ng system ang pagsasama ng plugin na ito;
- Nagdagdag ng suporta para sa pagpapagana ng mga module gamit ang JavaScript code ΠΈ ;
- Nagdagdag ng bagong template ng privacy-policy.php na nagpapahintulot sa iyo na i-customize ang nilalaman ng pahina ng patakaran sa privacy;
- Para sa mga tema, may idinagdag na wp_body_open hook handler, na nagbibigay-daan sa iyong magpasok ng code kaagad pagkatapos ng body tag;
- Ang mga kinakailangan para sa pinakamababang bersyon ng PHP ay itinaas sa 5.6.20 na ang mga plugin at tema ay mayroon na ngayong kakayahang gumamit ng mga namespace at anonymous na function;
- Nagdagdag ng 13 bagong icon.
Bilang karagdagan, maaari mong banggitin kritikal na kahinaan sa WordPress-plugin (CVE-2019-11185). Ang kahinaan ay nagpapahintulot sa arbitrary na PHP code na maisakatuparan sa server. Ang plugin ay ginagamit sa higit sa 27 libong mga site upang ayusin ang isang interactive na chat sa isang bisita, kabilang ang sa mga site ng mga kumpanya tulad ng IKEA, Adobe, Huawei, PayPal, Tele2 at McDonald's (Ang Live Chat ay kadalasang ginagamit upang ipatupad ang pop-up na nakakainis. mga pakikipag-chat sa mga site ng kumpanya na may mga alok na pakikipag-chat sa empleyado).
Ang problema ay nagpapakita mismo sa code para sa pag-upload ng mga file sa server at nagbibigay-daan sa iyo na i-bypass ang pagsusuri ng mga wastong uri ng file at mag-upload ng PHP script sa server, at pagkatapos ay isagawa ito nang direkta sa pamamagitan ng web. Kapansin-pansin, noong nakaraang taon ay natukoy na ang isang katulad na kahinaan sa Live Chat (CVE-2018-12426), na nagpapahintulot sa pag-load ng PHP code sa ilalim ng pagkukunwari ng isang larawan, na tumutukoy ng ibang uri ng nilalaman sa field na Uri ng nilalaman. Bilang bahagi ng pag-aayos, nagdagdag ng mga karagdagang pagsusuri para sa mga whitelist at uri ng nilalaman ng MIME. Sa lumalabas, ang mga pagsusuring ito ay ipinatupad nang hindi tama at madaling ma-bypass.
Sa partikular, ipinagbabawal ang direktang pag-upload ng mga file na may extension na ".php", ngunit ang extension na ".phtml", na nauugnay sa interpreter ng PHP sa maraming server, ay hindi idinagdag sa blacklist. Pinapayagan lang ng whitelist ang mga pag-upload ng larawan, ngunit maaari mo itong laktawan sa pamamagitan ng pagtukoy ng dobleng extension, halimbawa, ".gif.phtml." Upang i-bypass ang pagsusuri ng uri ng MIME sa simula ng file, bago buksan ang tag na may PHP code, sapat na upang tukuyin ang linyang "GIF89a".
Pinagmulan: opennet.ru
