Contenuto tradotto dal post originale in Inglese
Il contenuto tradotto potrebbe essere parziale e ridotto rispetto al post originale.
Stiamo spedendo un'altra versione di manutenzione per la serie Flarum 1.x. Questo include una correzione di sicurezza per flarum/nickname, una solida serie di correzioni di bug, significativi miglioramenti delle prestazioni e alcune gradite modifiche all'estensione GDPR.
⚠️ La fine del ciclo di vita di Flarum 1.x sta arrivando
Questa versione segna una svolta per la serie 1.x. Probabilmente è una delle ultime uscite regolari.
Con Flarum 2.0 che si avvicina alla fase Release Candidate, stiamo spostando 1.x in uno stato quasi EOL con effetto immediato:
❌ Non sono previste nuove funzionalità, miglioramenti o modifiche per 1.x
❌ Le correzioni di bug non di sicurezza generalmente non verranno retroportate
⚠️ Le vulnerabilità di sicurezza saranno studiate e affrontate ove possibile — ma vogliamo essere onesti: lo stack di dipendenze obsoleto (Flarum 1.x funziona su Laravel 8, che è a sua volta ben avviato EOL) significa che alcuni problemi di sicurezza potrebbero semplicemente non essere risolvibili su questo ramo
✅ Flarum 2.0 è il luogo in cui avviene tutto lo sviluppo attivo, il lavoro sulla sicurezza e il supporto a lungo termine
La data ufficiale di fine vita per la versione 1.x non è ancora stata fissata, ma verrà comunicata chiaramente in anticipo. Il piano attuale è di rilasciare ufficialmente Flarum 1.x 12 mesi dopo la versione stabile 2.0. Nel frattempo, invitiamo vivamente tutti gli amministratori del forum 1.x a iniziare a pianificare l'aggiornamento a Flarum 2.0.
🔐 Correzione di sicurezza — flarum/nicknames v1.8.3 (CVE-2026-30913)
Se si utilizza l'estensione flarum/nicknames, si consiglia vivamente di aggiornare alla versione 1.8.3
Una vulnerabilità di media gravità è stata scoperta e divulgata responsabilmente tramite il programma bug bounty della community SBB. Abilitando flarum/nicknames, un utente potrebbe impostare il proprio nickname su una stringa che i client di posta elettronica interpretano come un collegamento ipertestuale, ad esempio un semplice nome di dominio (nasty.com) o una sintassi markdown per i link([CLICK](https://evil.com)). Il nickname viene incluso letteralmente nelle email di notifica in testo normale, inducendo potenzialmente i destinatari a visitare URL controllati dagli aggressori.
Variante 1 (collegamento automatico): un nickname come nasty.com viene automaticamente collegato da praticamente tutti i client di posta elettronica (Gmail, Outlook, Apple Mail, Thunderbird).
Variante 2 (markdown): un nickname come [CLICK](https://evil.com) viene visualizzato come un link cliccabile dai client di posta elettronica che visualizzano automaticamente il markdown in testo normale (ad esempio Apple Mail, Thunderbird).
La correzione aggiunge la convalida in flarum/nicknames per rifiutare i nickname contenenti caratteri che potrebbero essere interpretati erroneamente nei contesti di posta elettronica, preservando al contempo i nickname legittimi come Jane.Smith.
Il driver predefinito per il nome visualizzato basato sul nome utente non è interessato: limita già i valori a [a-zA-Z0-9_-]+. Qualsiasi driver per il nome visualizzato di terze parti che consenta caratteri arbitrari dovrebbe essere esaminato.
⚡ Miglioramenti delle prestazioni
Questa versione include diverse ottimizzazioni nascoste. Non le vedrai direttamente, ma il tuo server ti ringrazierà.
⚡ Conteggio delle notifiche memorizzato nella cache: prima veniva eseguita una query sul database a ogni caricamento di pagina; ora viene memorizzato nella cache per 5 minuti e invalidato automaticamente in caso di modifiche (anche quando si eliminano tutte le notifiche).
⚡ Eliminazione dell'ultima scrittura visualizzata dall'autenticazione: prima veniva eseguita una scrittura incondizionata sul database a ogni richiesta autenticata; ora viene eseguita la scrittura solo quando i dati sono effettivamente cambiati.
⚡ Timestamp dello scheduler spostato nella cache: prima veniva eseguita una scrittura sul database ogni circa 1 minuto; ora viene invece memorizzato nel livello cache.
Insieme, queste modifiche si traducono in una notevole riduzione delle operazioni sul database, soprattutto sui siti con utenti attivi.
🐛 Correzioni di bug
Le pagine HTTP 405 "Metodo non consentito" ora mostrano il messaggio corretto ("Questa pagina non supporta quel metodo di richiesta") invece del generico fallback "Si è verificato un errore".
Avvisi PHP in ambienti con restrizioni: sono stati risolti alcuni avvisi/notifiche PHP che potevano apparire su determinate configurazioni di hosting.
Funzioni personalizzate Less booleane: è stata corretta una regressione per cui le funzioni Less personalizzate che restituivano valori booleani non venivano gestite correttamente.
Gestione estensioni: sono stati rimossi i riferimenti al marketplace Extiverse, non più disponibile.
🔒 Estensione GDPR — v1.8.2
Questa versione include un importante aggiornamento di sicurezza e conformità all'estensione flarum/gdpr:
Link di conferma monouso: il token di conferma della cancellazione ora viene invalidato dopo l'utilizzo. In precedenza, il link di conferma dell'email di un utente poteva essere riutilizzato indefinitamente; ora è un vero link monouso.
Protezione delle richieste elaborate: la rivisitazione di un link di conferma per una richiesta di cancellazione già elaborata o gestita manualmente ora restituisce un errore corretto invece di reimpostarne automaticamente lo stato.
Registrazione IP di conferma: l'indirizzo IP utilizzato per confermare una richiesta di cancellazione viene ora memorizzato a fini di audit.
Eliminazione automatica degli IP: un nuovo comando pianificato (gdpr:clear-confirmation-ips) annulla automaticamente gli IP di conferma memorizzati dopo 90 giorni, mantenendo proporzionata la conservazione dei dati.
Timestamp della modalità di cancellazione: la modalità di cancellazione del processo di amministrazione ora mostra le date di richiesta, conferma e idoneità per l'elaborazione automatica.
🚀 Come aggiornare
Tramite SSH composer con il comando
composer update
lanciato nella root di Flarum dall'utente non root.
Per maggiori dettagli visitare il post originale in Inglese.