Pagpagawas sa WordPress 5.2 nga adunay suporta alang sa pagsusi sa mga update pinaagi sa digital nga pirma

Gipasa ni pagpagawas sa sistema sa pagdumala sa sulud sa web sa Sun.Star 5.2. Ang pagpagawas nabantog tungod sa pagkompleto niini unom ka tuig nga epiko sa pagpatuman mga oportunidad pagsusi sa mga update ug pagdugang gamit ang digital signature.

Hangtud karon, kung nag-install sa mga update sa WordPress, ang panguna nga hinungdan sa seguridad mao ang pagsalig sa imprastraktura ug mga server sa WordPress (pagkahuman sa pag-download, gisusi ang hash nga wala gitino ang gigikanan). Kung ang mga server sa proyekto nakompromiso, ang mga tig-atake nakahimo sa pagpanglimbong sa usa ka update ug pag-apod-apod sa malisyosong code sa mga site nga nakabase sa WordPress nga naggamit sa usa ka awtomatikong sistema sa pag-install sa pag-update. Nahiuyon sa kaniadto nga gigamit nga modelo sa paghatud sa pagsalig, ang ingon nga pagpuli mahimo’g wala mamatikdan sa bahin sa mga tiggamit.

Gikonsiderar ang kamatuoran nga gihatag sa w3techs nga proyekto, ang plataporma sa WordPress gigamit sa 33.8% sa mga site sa network, ang insidente unta gikuha sa sukod sa usa ka katalagman. Sa samang higayon, ang kapeligrohan sa pagkompromiso sa imprastraktura dili hypothetical, apan tinuod. Pananglitan, pipila ka tuig na ang milabay usa sa mga tigdukiduki sa seguridad gipakita usa ka kahuyang nga nagtugot sa usa ka tig-atake sa pagpatuman sa iyang code sa server nga bahin sa api.wordpress.org.

Sa kaso sa digital nga mga pirma, ang pag-angkon sa kontrol sa update distribution server dili mosangpot sa pagkompromiso sa mga sistema sa user, tungod kay aron sa paghimo sa usa ka pag-atake, kamo dugang nga kinahanglan sa pagkuha sa usa ka gilain nga gitipigan pribado nga yawe, diin ang mga update gipirmahan.

Ang pagpatuman sa pagsusi sa tinubdan sa mga update gamit ang digital signature nababagan sa kamatuoran nga ang suporta alang sa gikinahanglan nga cryptographic algorithms nagpakita sa standard PHP package medyo bag-o lang. Ang gikinahanglan nga mga cryptographic algorithm nagpakita salamat sa panagsama sa librarya Libsodium ngadto sa main team PHP 7.2. Apan ingon ang minimum nga gisuportahan nga bersyon sa PHP sa WordPress gipahayag buhian ang 5.2.4 (gikan sa WordPress 5.2 - 5.6.20). Ang pagpagana sa suporta alang sa digital nga mga pirma mosangput ngadto sa usa ka mahinungdanon nga pagtaas sa mga kinahanglanon alang sa minimum nga suportadong bersyon sa PHP o ang pagdugang sa usa ka eksternal nga pagsalig, nga dili mahimo sa mga developers tungod sa pagkaylap sa mga bersyon sa PHP sa mga sistema sa pag-host.

Ang solusyon mao pag-uswag ug ang paglakip sa usa ka compact nga bersyon sa Libsodium sa WordPress 5.2 - Sodium Compat, diin ang usa ka minimum nga set sa mga algorithm alang sa pag-verify sa mga digital nga pirma gipatuman sa PHP. Ang pagpatuman nagbilin og daghan nga gitinguha sa mga termino sa pasundayag, apan hingpit nga nagsulbad sa problema sa pagkaangay, ug nagtugot usab sa mga plugin developers nga magsugod sa pagpatuman sa modernong cryptographic algorithms.

Ang usa ka algorithm gigamit sa pagmugna og mga digital nga pirma Ed25519, naugmad uban sa partisipasyon ni Daniel J. Bernstein. Nahimo ang digital signature para sa SHA384 hash value nga gikalkulo gikan sa sulod sa update archive. Ang Ed25519 adunay mas taas nga lebel sa seguridad kaysa ECDSA ug DSA, ug nagpakita sa taas kaayo nga tulin sa pag-verify ug paghimo sa pirma. Ang pagsukol sa pag-hack alang sa Ed25519 mga 2 ^ 128 (sa aberids, ang pag-atake sa Ed25519 magkinahanglan og 2 ^ 140 bit nga operasyon), nga katumbas sa pagsukol sa mga algorithm sama sa NIST P-256 ug RSA nga adunay yawe nga gidak-on sa 3000 bits o 128-bit block cipher. Ang Ed25519 dili usab delikado sa mga problema sa pagbangga sa hash, ug dili daling madala sa mga pag-atake sa timing sa cache o mga pag-atake sa kilid nga channel.

Sa pagpagawas sa WordPress 5.2, ang pag-verify sa digital nga pirma sa pagkakaron naglangkob lamang sa dagkong mga update sa plataporma ug dili babagan ang update pinaagi sa default, apan nagpahibalo lamang sa tiggamit mahitungod sa problema. Gidesisyonan nga dili dayon himuon ang default blocking tungod sa panginahanglan alang sa usa ka hingpit nga pagsusi ug pag-bypass posible nga mga problema. Sa umaabot, giplano usab nga idugang ang pag-verify sa digital nga pirma aron mabag-o ang gigikanan sa pag-install sa mga tema ug mga plugin (ang mga tiggama makahimo sa pagpirma sa mga pagpagawas gamit ang ilang yawe).

Agi og dugang sa suporta alang sa digital nga mga pirma sa WordPress 5.2, ang mosunod nga mga kausaban mahimong mamatikdan:

  • Duha ka bag-ong mga panid ang gidugang sa seksyon nga "Site Health" alang sa pag-debug sa kasagarang mga problema sa pag-configure, ug usa ka porma ang gihatag diin ang mga developer mahimo’g ibilin ang impormasyon sa pag-debug sa mga tagdumala sa site;
  • Gidugang nga pagpatuman sa "puti nga screen sa kamatayon", nga gipakita sa kaso sa makamatay nga mga problema ug pagtabang sa tigdumala nga independente nga ayuhon ang mga problema nga may kalabutan sa mga plugins o mga tema pinaagi sa pagbalhin ngadto sa usa ka espesyal nga crash recovery mode;
  • Usa ka sistema alang sa pagsusi sa pagkaangay sa mga plugins ang gipatuman, nga awtomatik nga nagsusi sa posibilidad sa paggamit sa plugin sa kasamtangan nga configuration, nga gikonsiderar ang bersyon sa PHP nga gigamit. Kung ang usa ka plugin nanginahanglan usa ka bag-ong bersyon sa PHP aron molihok, awtomatik nga babagan sa sistema ang paglakip niini nga plugin;
  • Gidugang nga suporta alang sa pagpagana sa mga module gamit ang JavaScript code gamit webpack ΠΈ Babel;
  • Gidugang ang bag-ong template sa privacy-policy.php nga nagtugot kanimo sa pagpahiangay sa sulud sa panid sa palisiya sa pagkapribado;
  • Alang sa mga tema, usa ka wp_body_open hook handler ang gidugang, nga nagtugot kanimo sa pagsal-ot sa code pagkahuman dayon sa tag sa lawas;
  • Ang mga kinahanglanon alang sa minimum nga bersyon sa PHP gipataas ngadto sa 5.6.20, ang mga plugins ug mga tema aduna nay abilidad sa paggamit sa mga namespace ug anonymous nga mga function;
  • Gidugang ang 13 ka bag-ong mga icon.

Dugang pa, mahimo nimong hisgutan detection kritikal nga kahuyangan sa WordPress plugin WP Live Chat (CVE-2019-11185). Ang kahuyang nagtugot sa arbitraryong PHP code nga ipatuman sa server. Ang plugin gigamit sa labaw pa sa 27 ka libo nga mga site aron sa pag-organisar sa usa ka interactive nga chat sa usa ka bisita, lakip na sa mga site sa mga kompanya sama sa IKEA, Adobe, Huawei, PayPal, Tele2 ug McDonald's (Live Chat sagad gigamit sa pagpatuman sa pop-up makalagot mga chat sa mga site sa kompanya nga adunay mga tanyag nga chat sa empleyado).

Ang problema nagpakita sa kaugalingon sa code alang sa pag-upload sa mga file sa server ug nagtugot kanimo sa pag-bypass sa tseke sa balido nga mga tipo sa file ug pag-upload sa PHP script sa server, ug dayon ipatuman kini direkta pinaagi sa web. Makapainteres, sa miaging tuig usa ka susama nga kahuyangan ang nahibal-an na sa Live Chat (CVE-2018-12426), nga nagtugot sa pag-load sa PHP code sa ilawom sa usa ka imahe, nga nagtino sa usa ka lahi nga tipo sa sulud sa natad nga tipo sa sulud. Isip bahin sa pag-ayo, dugang nga mga pagsusi ang gidugang alang sa mga whitelist ug tipo sa sulud sa MIME. Ingon sa nahibal-an, kini nga mga tseke dili husto nga gipatuman ug dali nga ma-bypass.

Sa partikular, gidili ang direktang pag-upload sa mga file nga adunay extension nga ".php", apan ang extension nga ".phtml", nga nalangkit sa tighubad sa PHP sa daghang mga server, wala gidugang sa blacklist. Gitugotan ra sa whitelist ang mga pag-upload sa imahe, apan mahimo nimo kini laktawan pinaagi sa pagpiho sa doble nga extension, pananglitan, ".gif.phtml". Aron malaktawan ang pagsusi sa tipo sa MIME sa sinugdanan sa file, sa wala pa ablihan ang tag nga adunay PHP code, igo na nga ipiho ang linya nga "GIF89a".

Source: opennet.ru

Idugang sa usa ka comment