Perché Ferrumail non mostrerà mai l’anteprima degli allegati
La preview degli allegati è la porta d’ingresso preferita dagli attaccanti
Nell’ultimo triennio (2023–2025), oltre 25 vulnerabilità critiche nei principali client email sono state legate direttamente alla funzionalità di anteprima degli allegati. Molte di queste permettono l’esecuzione di codice arbitrario senza alcuna interazione dell’utente - basta ricevere e visualizzare l’email.
Ferrumail fa una scelta netta: nessuna anteprima degli allegati. Mai.
Questa non è una limitazione temporanea o una funzionalità “coming soon”. È una decisione architettuale deliberata che mette la sicurezza davanti alla comodità apparente.
Il problema non riguarda solo i webmail
Quando si parla di vulnerabilità negli allegati email, si tende a pensare solo ai webmail come Roundcube o Outlook Web. Sbagliato.
Il problema è sistemico e colpisce:
- Webmail (Roundcube, Horde, Gmail, Outlook Web)
- Client desktop (Microsoft Outlook, Thunderbird, Apple Mail, Mailspring)
- App mobile (iOS Mail, Gmail Android, Outlook Mobile, ProtonMail)
Ogni volta che un client email decide di “essere comodo” e mostrare l’anteprima di un PDF, un’immagine, un documento Office o qualsiasi altro allegato, crea una superficie di attacco.
I numeri parlano chiaro
Microsoft Outlook (Desktop e Web)
CVE-2025–21298 (Gennaio 2025)
- Gravità: 9.8/10 - CRITICA
- Tipo: Remote Code Execution zero-click
- Dettaglio: Aprire o vedere la preview di un’email con allegato RTF malevolo causa esecuzione di codice arbitrario
- Interazione richiesta: Nessuna - basta che l’email arrivi e venga visualizzata
CVE-2024–21413 (Febbraio 2024)
- Gravità: CRITICA - Zero-click
- Tipo: RCE via bypass Office Protected View
- Dettaglio: La preview bypassa le protezioni di Office e apre i file in modalità modifica
- Stato: Attivamente sfruttata in the wild, PoC pubblico disponibile
CVE-2025–30377 (Maggio 2025)
- Gravità: CRITICA
- Tipo: Use-after-free nella Preview Pane
- Dettaglio: Esecuzione codice arbitrario tramite semplice anteprima
- Interazione richiesta: Nessuna
CVE-2023–23397 (Marzo 2023)
- Gravità: 9.8/10 - CRITICA
- Tipo: NTLM credential theft
- Dettaglio: Una nota/task malevola ruba le credenziali NTLM prima ancora che l’utente apra l’email
- Stato: Sfruttata da gruppi APT, considerata “il bug del 2023”
- Interazione richiesta: Zero - l’exploit si attiva durante il download dell’email
Roundcube Webmail
CVE-2025–49113 (Giugno 2025)
- Gravità: 9.9/10 - CRITICA
- Tipo: Remote Code Execution via PHP Object Deserialization
- Versioni vulnerabili: < 1.5.10 e 1.6.0–1.6.10
- Stato: PoC pubblico, usato in combinazione con altre CVE
CVE-2024–42009 (Agosto 2024)
- Gravità: CRITICA
- Tipo: Stored XSS via email attachment
- Dettaglio: Furto di tutte le email e password semplicemente visualizzando un’email
- Interazione richiesta: Nessuna - zero-click
- Stato: Sfruttata dai gruppi APT Winter Vivern e UNC1151 contro entità governative europee
- CISA KEV: Aggiunta al catalogo delle vulnerabilità attivamente sfruttate
CVE-2024–42008 (Agosto 2024)
- Gravità: ALTA
- Tipo: XSS via Content-Type header negli allegati
- Dettaglio: Manipolando l’header Content-Type di un allegato, un attaccante può rubare credenziali
- Interazione richiesta: Un singolo click
CVE-2024–37384 (2024)
- Tipo: XSS via header Content-Type/Disposition nella preview/download allegati
- Versioni: 1.5.x < 1.5.6, 1.6.x < 1.6.5
CVE-2020–13965 (Giugno 2020)
- Tipo: XSS via allegati XML
- Dettaglio: Il tipo MIME
text/xml era permesso nella preview, permettendo injection di JavaScript
- Versioni vulnerabili: < 1.3.12, 1.4.x < 1.4.5
- Stato: Aggiunta al CISA KEV nel 2024 (4 anni dopo!)
Horde Webmail
CVE-2022–30287 (Giugno 2022)
- Gravità: CRITICA
- Tipo: Remote Code Execution via CSRF + rendering automatico immagini
- Dettaglio: Inviando un’email con un’immagine esterna “bloccata”, quando il rendering fallisce in un certo modo, si ottiene RCE completo sul server
- Effetto collaterale: Leak delle credenziali in chiaro della vittima
- Stato: ZERO-DAY NON PATCHATO - Horde non è più mantenuto dal 2017
- Interazione richiesta: Solo aprire l’email
CVE precedenti (Febbraio 2022)
- Tipo: XSS via preview allegati OpenOffice
- Dettaglio: Un documento .odt/.ods malevolo in preview esegue JavaScript arbitrario
- Impatto: Furto di tutte le email dell’account
- Stato: Nessuna patch ufficiale dopo 6+ mesi
Client Desktop: stessa storia
Thunderbird
Thunderbird ha avuto numerose vulnerabilità legate al rendering di allegati, specialmente:
- Rendering PDF tramite pdf.js (multipli CVE)
- Immagini SVG con payload JavaScript
- Documenti HTML negli allegati che bypassano le sandbox
Apple Mail
- Vulnerabilità HEIC/HEIF (2023): parsing delle immagini HEIC causa crash e potenziale RCE
- PDF rendering via PDFKit framework: multipli buffer overflow storici
- VCF (vCard) parsing: code execution via contact cards malformate
Microsoft Outlook Desktop
Oltre ai CVE web già citati, Outlook desktop ha l’aggravante di:
- Integrazione Office OLE (Object Linking and Embedding)
- Rendering tramite Internet Explorer/Edge engine
- ActiveX controls storici mai completamente rimossi
- Integrazione con Windows Shell per anteprime file
App Mobile: l’anello più debole
Le app mobile sono particolarmente vulnerabili perché:
- Librerie di rendering di sistema: Usano i framework nativi iOS/Android per aprire i file
- Memoria limitata: Più prone a buffer overflow e use-after-free
- Auto-download: Molte scaricano automaticamente gli allegati per la “comodità”
- Background processing: Alcune processano gli allegati in background per indicizzazione
Esempi storici:
- iOS Mail: Multipli CVE legati al rendering di PDF via CoreGraphics
- Gmail Android: Vulnerabilità nel preview di file Office tramite Google Drive integration
- Samsung Email: CVE nel parsing di allegati che causano DoS o peggio
Perché succede? La complessità del rendering
Mostrare l’anteprima di un allegato significa:
- Parsare il formato del file (PDF, DOCX, JPEG, SVG, etc.)
- Convertire il contenuto in qualcosa che il browser/app può renderizzare
- Renderizzare usando engine complessi (Blink, WebKit, GDI+, Cairo, etc.)
- Sanificare il contenuto per rimuovere payload malevoli
Ognuno di questi step è una potenziale vulnerabilità:
- Parser: Buffer overflow, integer overflow, use-after-free
- Convertitori: XSLT injection, XXE (XML External Entity), command injection
- Rendering engine: JavaScript execution, CSS injection, font parsing bugs
- Sanificazione: Bypass via encoding, Unicode tricks, polyglot files
Esempio reale (CVE-2024–42009 in Roundcube):
Email HTML → Parser → Sanitizer → POST-PROCESSING → XSS
↑
Qui avveniva il "de-sanitization"
Il post-processing HTML per “migliorare la compatibilità” reintroduceva tag pericolosi già rimossi.
La scelta progettuale di Ferrumail
Ferrumail adotta il principio “security by design”:
❌ Cosa NON faremo MAI:
- Anteprima PDF inline
- Rendering immagini SVG
- Preview documenti Office
- Conversione automatica allegati → HTML
- Rendering HTML “sandboxato” degli allegati
- Utilizzo di ImageMagick, LibreOffice, Pandoc o simili per conversioni
✅ Cosa facciamo invece:
- Metadati chiari: Nome file, dimensione, tipo MIME (dichiarato dal mittente)
- Warning espliciti: Icona di alert per tipi di file potenzialmente pericolosi
- Download esplicito: L’utente deve cliccare deliberatamente “Scarica”
- Hash del file: SHA-256 dell’allegato per verifica integrità
- Audit trail (Goal 4 - Corporate): Log di chi ha scaricato cosa e quando
Esempio UI Ferrumail:
┌───────────────────────────────────────────────────┐
│ ⚠️ Allegato: relazione-2024.pdf │
│ │
│ Dimensione: 2.3 MB │
│ Tipo: application/pdf │
│ SHA-256: a3f7b9c1d8e4... │
│ │
│ ⚠️ Gli allegati non vengono visualizzati │
│ in anteprima per motivi di sicurezza. │
│ Scarica solo file da mittenti fidati. │
│ │
│ [ Scarica allegato ] │
└───────────────────────────────────────────────────┘
“Ma è scomodo!”
Lo sappiamo. E non ce ne frega niente.
La comodità che porta a CVE-2025–21298 (zero-click RCE) non è una feature, è una scelta di compromesso che fa diventare il tuo email client il vettore preferito per ransomware, spyware e compromissioni aziendali.
Confronto onesto:
Con preview:
- Ricevi email
- Vedi preview automatica
- ??? → Sei compromesso
Con Ferrumail:
- Ricevi email
- Vedi metadati allegato
- Decidi consapevolmente se scaricare
- Il tuo antivirus ha la possibilità di scansionare il file scaricato
- Tu apri il file nel viewer di tua scelta (che puoi mantenere aggiornato indipendentemente)
Trasparenza radicale
Ferrumail non nasconde le proprie limitazioni tecniche dietro false promesse di sicurezza.
Non promettiamo:
- “Anteprima sicura” (non esiste)
- “Sandbox affidabile” (si bypassa sempre)
- “AI-powered malware detection” (snake oil)
Promettiamo:
- Onestà brutale sui rischi
- Decisioni architetturali difendibili
- Zero sorprese sull’architettura
Se un domani scopriremo che mostrare l'estensione del file è vulnerabile (CVE-YYYY-XXXXX: “Extension Spoofing leads to RCE”), rimuoveremo anche quella e mostreremo solo un hash.
Per gli amministratori di sistema
Se gestite server mail aziendali, sapete già che:
- Roundcube ha avuto 15+ CVE negli ultimi 3 anni
- Horde non è più mantenuto ed ha uno zero-day pubblico critico
- Outlook Web Access richiede patch continue
Ferrumail offre:
- Superficie di attacco minimale by design
- Nessuna dipendenza da converter esterni (ImageMagick, LibreOffice, etc.)
- Codice Rust auditabile (Artistic License 2.0)
- Nessun JavaScript per il rendering allegati (perché non c’è rendering)
Esempio: CVE-2020–12641 in Roundcube (command injection via ImageMagick):
# Vulnerabilità storica: parametri shell non escaped
system("convert $user_file output.png")
# Con filename: "file.jpg; rm -rf /var/www"
# Risultato: 💥
Ferrumail non chiama mai programmi esterni per processare allegati.
Sezione tecnica: cosa evitiamo
Librerie di rendering che NON useremo:
- ImageMagick: storico di CVE (700+), CVE-2016–3714 “ImageTragick”
- Ghostscript: usato per PDF, multipli CVE ogni anno
- LibreOffice/unoconv: conversione documenti, command injection prone
- Pandoc: converter universale, XXE e path traversal storici
- pdf.js: rendering PDF in JavaScript, XSS e memory corruption
- Cairo/Pango: rendering fonts, buffer overflow storici
Tecnologie che useremo:
- mail-parser (Rust, by Stalwart Labs): parsing MIME senza execution
- PostgreSQL: storage metadati allegati
- SHA-256: hashing per integrità
- Content-Type validation: sanity check, ma MAI trust
Architettura sicura:
Email arrives → IMAP fetch → MIME parse → Extract metadata
↓
Store in DB:
- filename
- size
- content_type (untrusted)
- sha256
↓
User clicks "Download"
↓
Stream raw bytes to user
↓
User's responsibility
Mai tocchiamo il contenuto dell’allegato. Mai lo interpretiamo.
Filosofia: Honest Security
Ferrumail si basa su tre principi:
1. Minimal Privilege
Il webmail non ha bisogno di “capire” cosa c’è dentro un PDF. Ha bisogno di:
- Dire all’utente che c’è un PDF
- Permettere all’utente di scaricarlo
- Fine.
2. Explicit Trust
Ogni azione rischiosa richiede conferma esplicita:
- Download allegato → Click “Scarica”
- Click su link esterno → Warning + conferma
- Abilitare HTML nel corpo email → Opt-in persistente
3. Fail Secure
Se qualcosa non funziona:
- Parser MIME fallisce → Mostra solo raw headers
- Database non disponibile → Nessun metadata leak
- Dubbio sul content-type → Tratta come
application/octet-stream
Roadmap: cosa faremo invece
Invece di investire mesi in “preview sicure” (che non esistono), investiremo in:
Goal 3 - AI Integration:
Analisi ML locale degli allegati (senza aprirli):
Dimensione anomala per il tipo
Entropy analysis (encrypted/packed files)
Nome file vs. content-type mismatch
Reputazione mittente (via SPF/DKIM/DMARC)
User behavior analysis:
“Di solito non ricevi .exe da questo dominio”
“Prima volta che questo mittente invia ZIP”
Goal 4 - Corporate:
Audit trail completo:
Chi ha scaricato quali allegati
Pattern anomali (massa download)
Export per SIEM
Policy enforcement:
Blocco download per estensioni (configurable)
Require approval per allegati > X MB
Integrazione antivirus esterno (ClamAV, YARA)
Integrazione futura (Post-Goal 4):
- Sandbox esterna opzionale:
- Invio allegato a servizio esterno (Cuckoo, ANY.RUN)
- Utente decide se vuole questa feature
- Trasparenza totale su dove vanno i dati
Confronto con i competitor
| Feature |
Roundcube |
Outlook Web |
Horde |
Ferrumail |
| Preview PDF |
✅ (insicuro) |
✅ (insicuro) |
✅ (insicuro) |
❌ (by design) |
| Preview immagini |
✅ (CVE-prone) |
✅ (CVE-prone) |
✅ (CVE-prone) |
❌ (by design) |
| Conversion docs |
✅ (LibreOffice) |
✅ (Office Online) |
✅ (problemi) |
❌ (mai) |
| CVE ultimi 3 anni |
15+ |
8+ |
5+ (non più mantenuto) |
0 (non esiste ancora, ma architettura sicura) |
| Sfruttato da APT |
✅ |
✅ |
✅ |
N/A |
| Zero-click RCE |
✅ |
✅ |
✅ |
Impossibile by design |
| Codice auditabile |
✅ (PHP) |
❌ (closed) |
✅ (PHP) |
✅ (Rust) |
| Security-first |
❌ |
❌ |
❌ |
✅ |
Cosa significa per l’utente finale
Se sei un utente Ferrumail:
✅ Ottieni:
- Pace mentale: Nessun rischio di zero-click compromise
- Trasparenza: Sai esattamente cosa stai scaricando
- Controllo: Tu decidi quando e come aprire i file
- Audit: (Corporate) Sai chi ha acceduto a cosa
❌ NON ottieni:
- Preview PDF inline
- “Comoda” visualizzazione allegati nel browser
- Preview thumbnails
- Quick preview al click
💡 Invece ottieni:
- Metadati completi (hash, dimensione, tipo)
- Warning su file potenzialmente pericolosi
- Possibilità di passare l’hash a VirusTotal prima del download
- Integrazione con il TUO antivirus (non il nostro)
Conclusione: La sicurezza non è negoziabile
Ferrumail esiste perché:
- Roundcube ha 15+ CVE in 3 anni, molti legati a preview
- Horde è abbandonato con zero-day critici non patchati
- Outlook ha vulnerabilità zero-click ogni 6–12 mesi
- Gli utenti meritano onestà, non false promesse
La preview degli allegati è incompatibile con un’architettura sicura. Non è una questione di “farlo bene” - è che non può essere fatto in modo sicuro.
Ogni parser è una vulnerabilità. Ogni converter è una catena di fiducia. Ogni rendering engine è una superficie di attacco.
Ferrumail sceglie zero parser, zero converter, zero rendering.
Unisciti al progetto
Ferrumail sarà lanciato su Kickstarter nel 2026.
Se credi che la sicurezza debba venire prima della comodità apparente, se sei stanco di webmail pieni di CVE, se vuoi un’alternativa onesta e trasparente:
👉 Iscriviti alla mailing list per essere avvisato del lancio
👉 Segui su GitHub per vedere il codice
Link utili:
- CISA Known Exploited Vulnerabilities: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- CVE Database: https://cve.mitre.org
- Roundcube CVE History: https://www.cvedetails.com/vendor/8905/Roundcube.html
- Microsoft Security Response Center: https://msrc.microsoft.com
Ferrumail: Webmail sicuro by design. Rust + Leptos + Onestà.
Licenza: Artistic License 2.0
Codice: Aperto dal giorno 1
Privacy: Self-hosted, i tuoi dati restano tuoi
Sicurezza: Non negoziabile
Articolo pubblicato il 9 Febbraio 2026 da Ferruccio Zamuner
©2026 - Ferruccio Zamuner - nonsolosoft.com
Ultima modifica: 9 Febbraio 2026