La versione 5.0.1 del noto Content Management System WordPress è da stata rilasciata recentemente, nonché seguita nel giro di pochi giorni dalla release 5.0.2, con l'importante obiettivo di correggere svariati bug presenti nella major release 5.0. La divisione ufficiale del team impegnata nella sicurezza ha lavorato non poco per mitigare tutte le vulnerabilità rilevate senza incidere negativamente sul livello di retrocompatiblità, purtroppo però si sono presentati alcuni casi in cui questo non è stato possibile.
I cosiddetti "compatibility breaks" incidono anche sulle versioni 4.8.8 e 4.9.9, dato che il backport delle patch è possibile dalla release 3.7.
Accade così che gli elementi form non passino più la KSES. Prima della versione 5.0.1, l'array chiamato $allowedposttags
prevedeva infatti un ingresso per l'elemento form
e alcuni dei suoi attributi.
Per questo motivo, i Contributors e gli Authors potevano utilizzarlo nei post. Ma tale elemento è stato rimosso nella versione 5.0.1, tranne nel caso in cui uno specifico plug-in abbiano registrato esplicitamente i campi input
o select
tramite il filtro wp_kses_allowed_html
. Se un Contributor o un Author introducesse un form
nel post, questo verrebbe dunque rimosso al momento del salvataggio del contenuto, stesso discorso per il contenuto arbitrario passato a wp_kses_post()
o wp_kses_allowed_html( 'post' )
.
Sebbene un autore di plug-in possa ripristinare il comportamento di default, aggiungendo gli elementi form
, input
e select
tramite wp_kses_allowed_html
, questa strategia reintroduce una notevole vulnerabilità (legata agli KSES Strips Evil Scripts), e va dunque utilizzata con parsimonia, solo con utenti affidabili a cui consentire l'inclusione dei tag form
.
La seconda delle due mancate retrocompatibilità riguarda il MIME-type
dei file caricati tramite upload. Precedentemente alla versione 5.0.1 WordPress non richiedeva il passaggio della verifica del MIME-type: i file potevano essere caricati anche se il contenuto vero e proprio non corrispondeva all'estensione dichiarata (ad esempio, un file binario poteva essere caricato con l'estensione .jpg
).
Ora invece il contenuto dei file viene verificato e deve corrispondere all'estensione. Svariati file devono essere dunque rinominati alla corretta estensione (ad esempio, un file OpenOffice andrà associato ad estensioni che vanno da .pptx
a .ppxs
).
Via Make WordPress