Eldono de WordPress 5.2 kun subteno por kontroli ĝisdatigojn per cifereca subskribo

Enkondukita TTT-enhava administra sistemo-eldono WordPress 5.2. La eldono estas rimarkinda pro sia kompletigo sesjara epopeo pri efektivigo ŝancoj kontrolante ĝisdatigojn kaj aldonojn uzante ciferecan subskribon.

Ĝis nun, kiam oni instalis ĝisdatigojn en WordPress, la ĉefa sekureca faktoro estis fido en la WordPress-infrastrukturo kaj serviloj (post elŝuto, la hash estis kontrolita sen kontroli la fonton). Se la serviloj de la projekto estis endanĝerigitaj, la atakantoj povis falsigi ĝisdatigon kaj distribui malican kodon inter WordPress-bazitaj retejoj, kiuj uzas aŭtomatan ĝisdatigan instalsistemon. Konforme al la antaŭe uzata fida livermodelo, tia anstataŭigo estus nerimarkita flanke de la uzantoj.

Konsiderante la fakton ke donita de la projekto w3techs, la WordPress-platformo estas uzata en 33.8% de retejoj en la reto, la okazaĵo estus preninta la skalon de katastrofo. Samtempe, la danĝero de infrastruktura kompromiso ne estis hipoteza, sed sufiĉe reala. Ekzemple, antaŭ pluraj jaroj unu el la sekurecaj esploristoj montrita vundebleco, kiu permesis al atakanto ekzekuti sian kodon ĉe la servila flanko de api.wordpress.org.

En la kazo de ciferecaj subskriboj, akiri kontrolon de la ĝisdatiga distribua servilo ne kondukos al kompromiso de uzantsistemoj, ĉar por fari atakon, vi aldone devos akiri aparte konservitan privatan ŝlosilon, per kiu ĝisdatigoj estas subskribitaj.

La efektivigo de kontrolado de la fonto de ĝisdatigoj per cifereca subskribo estis malhelpita de la fakto, ke subteno por la necesaj kriptaj algoritmoj aperis en la norma PHP-pakaĵo relative lastatempe. La necesaj kriptografiaj algoritmoj aperis danke al la integriĝo de la biblioteko Libsodio al la ĉefa teamo PHP 7.2. Sed kiel la minimuma subtenata versio de PHP en WordPress deklaris eldono 5.2.4 (de WordPress 5.2 - 5.6.20). Ebligi subtenon por ciferecaj subskriboj kondukus al signifa pliigo de la postuloj por la minimuma subtenata versio de PHP aŭ aldono de ekstera dependeco, kion programistoj ne povus fari pro la tropezo de PHP-versioj en gastigaj sistemoj.

La solvo estis disvolviĝo kaj la inkludo de kompakta versio de Libsodium en WordPress 5.2 - Natrio Kompat, en kiu minimuma aro de algoritmoj por kontroli ciferecajn subskribojn estas efektivigita en PHP. La efektivigo lasas multon por deziri koncerne rendimenton, sed tute solvas la kongruecproblemon, kaj ankaŭ permesas al kromprogramoj komenci efektivigi modernajn kriptajn algoritmojn.

Algoritmo estas uzata por generi ciferecajn subskribojn Ed25519, evoluigita kun la partopreno de Daniel J. Bernstein. Cifereca subskribo estas generita por la SHA384 hash-valoro kalkulita de la enhavo de la ĝisdatiga arkivo. Ed25519 havas pli altan nivelon de sekureco ol ECDSA kaj DSA, kaj montras tre altan rapidecon de konfirmo kaj subskribokreado. La rezisto al hakado por Ed25519 estas proksimume 2^128 (averaĝe, atako sur Ed25519 postulos 2^140-bitajn operaciojn), kio respondas al la rezisto de algoritmoj kiel NIST P-256 kaj RSA kun ŝlosila grandeco de 3000 bitoj. aŭ 128-bita blokĉifro. Ed25519 ankaŭ ne estas sentema al problemoj kun haŝkolizioj, kaj ne estas sentema al kaŝtempaj atakoj aŭ flankaj-kanalaj atakoj.

En la eldono de WordPress 5.2, la kontrolado de cifereca subskribo nuntempe nur kovras gravajn platformajn ĝisdatigojn kaj ne blokas la ĝisdatigon defaŭlte, sed nur informas la uzanton pri la problemo. Estis decidite ne ebligi la defaŭltan blokadon tuj pro la bezono de plena kontrolo kaj pretervojo eblaj problemoj. En la estonteco, estas ankaŭ planite aldoni ciferecan subskriban konfirmon por versigi la fonton de instalado de temoj kaj kromaĵojn (fabrikistoj povos subskribi eldonojn per sia ŝlosilo).

Krom subteno por ciferecaj subskriboj en WordPress 5.2, la sekvaj ŝanĝoj povas esti notitaj:

  • Du novaj paĝoj estis aldonitaj al la sekcio "Reteja Sano" por elpurigi oftajn agordajn problemojn, kaj ankaŭ estis provizita formularo per kiu programistoj povas lasi sencimigan informon al administrantoj de la retejo;
  • Aldonita efektivigo de la "blanka ekrano de morto", montrita en kazo de mortigaj problemoj kaj helpanta la administranton sendepende ripari problemojn rilatajn al kromprogramoj aŭ temoj ŝanĝante al speciala kraŝa reakiro;
  • Sistemo por kontroli kongruecon kun kromaĵoj estis efektivigita, kiu aŭtomate kontrolas la eblecon uzi la kromprogramon en la nuna agordo, konsiderante la uzatan version de PHP. Se kromaĵo postulas pli novan version de PHP por funkcii, la sistemo aŭtomate blokos la inkludon de ĉi tiu kromaĵo;
  • Aldonita subteno por ebligi modulojn kun JavaScript-kodo uzante retpako и babel;
  • Aldonis novan ŝablonon privacy-policy.php, kiu ebligas al vi personecigi la enhavon de la paĝo pri privateca politiko;
  • Por temoj, wp_body_open hoktraktilo estis aldonita, permesante al vi enigi kodon tuj post la korpo-etikedo;
  • Postuloj por la minimuma versio de PHP estis altigitaj al 5.6.20; kromprogramoj kaj temoj nun havas la kapablon uzi nomspacojn kaj anonimajn funkciojn;
  • Aldonitaj 13 novaj ikonoj.

Aldone, vi povas mencii detekto kritika vundebleco en WordPress-kromaĵo WP Viva Babilejo (CVE-2019-11185). La vundebleco permesas al arbitra PHP-kodo esti efektivigita sur la servilo. La kromaĵo estas uzata en pli ol 27 mil retejoj por organizi interagan babilejon kun vizitanto, inkluzive en la retejoj de kompanioj kiel IKEA, Adobe, Huawei, PayPal, Tele2 kaj McDonald's (Viva Babilejo estas ofte uzata por efektivigi pop-up ĝena). babiloj en firmaaj retejoj kun ofertoj babilado kun la dungito).

La problemo manifestiĝas en la kodo por alŝuti dosierojn al la servilo kaj permesas vin preteriri la kontrolon de validaj dosiertipoj kaj alŝuti PHP-skripton al la servilo, kaj poste ekzekuti ĝin rekte per la reto. Kurioze, pasintjare simila vundebleco jam estis identigita en Viva Babilejo (CVE-2018-12426), kio permesis ŝarĝi PHP-kodon sub la aspekto de bildo, specifante malsaman enhavtipon en la Enhavo-speca kampo. Kiel parto de la riparo, pliaj kontroloj estis aldonitaj por blanklistoj kaj MIME-enhava tipo. Kiel ĝi rezultas, ĉi tiuj kontroloj estas efektivigitaj malĝuste kaj povas facile esti preterpasitaj.

Precipe, rekta alŝuto de dosieroj kun la etendo ".php" estas malpermesita, sed la etendo ".phtml", kiu estas asociita kun la PHP-interpretilo en multaj serviloj, ne estis aldonita al la nigra listo. La blanka listo nur permesas alŝutojn de bildoj, sed vi povas preteriri ĝin specifante duoblan etendon, ekzemple ".gif.phtml". Por preteriri la MIME-tipkontrolon komence de la dosiero, antaŭ malfermi la etikedon kun PHP-kodo, sufiĉis specifi la linion "GIF89a".

fonto: opennet.ru

Aldoni komenton