Risposta rapida. Le vulnerabilità PLC Siemens si leggono nel bollettino ProductCERT in quattro punti: quali codici articolo sono colpiti e in quali versioni, quanto è grave e da dove si sfrutta, se esiste una correzione, cosa raccomanda Siemens nel frattempo. Poi si decide guardando tre cose: chi può arrivare alla CPU, quanto costa fermarla, quando c’è il prossimo fermo programmato. Con SSA-482757, che richiede accesso fisico e non ha correzione prevista per nessun codice colpito, la risposta tipica è un armadio chiuso a chiave subito e la sostituzione della CPU al fermo successivo.
Questo articolo prende un bollettino vero e pubblico, SSA-482757 sulle CPU S7-1500, e lo legge riga per riga come lo leggerebbe chi deve poi decidere su una macchina in produzione. Non parla di altri bollettini: il metodo si riusa, i contenuti no. Fa parte della guida pratica alla cybersecurity dei PLC per chi programma macchine.
In particolar modo vedremo:
Dove si leggono i bollettini Siemens
La fonte che fa fede è Siemens ProductCERT, che pubblica i bollettini sul cert-portal di Siemens con sigla SSA e numero. I bollettini si possono seguire anche in formato CSAF e via RSS dalla pagina siemens.com/cert.
La pagina CISA non basta. La stessa CISA lo scrive: «As of January 10, 2023, CISA will no longer be updating ICS security advisories for Siemens product vulnerabilities beyond the initial advisory» (ICSA-25-294-03). Per SSA-482757 esiste un advisory CISA di gennaio 2023, ICSA-23-012-08: è la fotografia di gennaio 2023. Il bollettino Siemens da allora è cambiato cinque volte.
NIST SP 800-82 Rev. 3 aggiunge un motivo pratico: «not all vendors report known vulnerabilities to CISA», quindi conviene iscriversi alle notifiche del costruttore oltre che agli avvisi CISA.
SSA-482757 riga per riga
L’intestazione: versione e data prima di tutto
In testa al file testuale ci sono data di pubblicazione (2023-01-10), data dell’ultimo aggiornamento (2025-01-14), versione corrente (1.5) e punteggio CVSS v3.1 di base (4.6). La versione è la prima cosa da annotare: quando fra sei mesi qualcuno chiede «su cosa avete deciso?», la risposta è «su SSA-482757 versione 1.5 del 14/01/2025», non «sul bollettino Siemens».
In fondo al file c’è la cronologia (History Data). Qui dice che tutte le revisioni dalla 1.1 alla 1.5 hanno aggiunto nuove versioni hardware. È l’elenco che interessa a chi deve comprare un ricambio.
Avvertenza. Abbiamo letto la versione 1.5. Il bollettino può essere stato aggiornato dopo: prima di decidere su un impianto rileggilo sul portale ProductCERT e confronta il numero di versione.
Cosa dice la vulnerabilità, e da dove si sfrutta
Il riassunto è questo: «Affected models of the S7-1500 CPU product family do not contain an Immutable Root of Trust in Hardware… An attacker with physical access to the device could use this to replace the boot image of the device and execute arbitrary code.»
La frase che conta per decidere è «with physical access». Serve qualcuno davanti alla CPU. Il punteggio 4.6 va letto insieme a questo vettore: da solo è un numero, accanto a «accesso fisico» diventa una domanda precisa sul tuo impianto, cioè chi può aprire l’armadio.
Prodotti e versioni: conta il codice articolo
La sezione Affected Products and Solution elenca le CPU per nome e codice articolo. Il nome commerciale non basta: «CPU 1510SP-1 PN» è il nome sia di codici colpiti sia di una nuova versione hardware che non ne è colpita. Nella versione 1.5 tutti i codici colpiti portano «Currently no fix is planned». Ecco alcune righe:
| CPU | Codice articolo | Versioni interessate | Stato nella v1.5 |
|---|---|---|---|
| CPU 1510SP-1 PN | 6ES7510-1DJ00-0AB0 | All versions | «Currently no fix is planned» |
| CPU 1510SP-1 PN | 6ES7510-1DJ01-0AB0 | All versions | «Currently no fix is planned» |
| CPU 1512SP-1 PN | 6ES7512-1DK01-0AB0 | All versions | «Currently no fix is planned» |
| CPU 1510SP-1 PN | 6ES7510-1DK03-0AB0 | — | nuova versione hardware con nuovo secure boot |
| CPU 1512SP-1 PN | 6ES7512-1DM03-0AB0 | — | nuova versione hardware con nuovo secure boot |
| CPU 1518-3 PN | 6ES7518-3AT10-0AB0 | — | nuova versione hardware con nuovo secure boot |
Le ultime tre righe vengono dalla sezione Additional Information, dove Siemens elenca le nuove versioni hardware che «contain a new secure boot mechanism that resolves the vulnerability». La tabella è un estratto: l’elenco completo, e aggiornato, sta nel bollettino.
Il manuale della CPU 1518-3 PN (6ES7518-3AT10-0AB0) lo conferma nei dati tecnici: «Secure Boot: Yes», «signed firmware update: Yes». Vale per quel codice. Non estenderlo per analogia ad altre CPU.
«Currently no fix is planned»: cosa significa in pratica
Per le CPU 1510SP-1 PN con codice 6ES7510-1DJ00-0AB0 e 6ES7510-1DJ01-0AB0, e per la 1512SP-1 PN 6ES7512-1DK01-0AB0, la versione 1.5 dice «All versions» e «Currently no fix is planned». Vale per ogni codice in elenco, non solo per questi: oggi il bollettino non prevede un firmware che chiuda la falla.
La nostra lettura, che il bollettino non scrive con queste parole: la correzione esiste solo come hardware diverso, cioè una CPU con un altro codice articolo. Per la CPU che hai in campo le strade sono due, la mitigazione o la sostituzione. Non esiste un’impostazione in TIA Portal che protegga il bootloader di una CPU colpita.
Le mitigazioni
Siemens «recommends to assess the risk of physical access to the device… and to implement measures to make sure that only trusted personnel have access». La sezione Workarounds and Mitigations lo rende un oggetto: «Restrict physical access to affected devices to trusted personnel to avoid hardware tampering (e.g., place the devices in locked control cabinets)». L’advisory CISA riporta la stessa misura.
Per questa vulnerabilità la mitigazione è una serratura e una gestione delle chiavi. La protezione dell’accesso di rete resta fra le raccomandazioni generali del bollettino («strongly recommends to protect network access to devices»), ma questa falla non la chiude: non passa dalla rete.
Nella versione 1.5 di SSA-482757 nessun codice articolo colpito ha una correzione prevista.
Vulnerabilità PLC Siemens: come si decide, le tre uscite
Le Operational Guidelines di Siemens dicono che una vulnerabilità nuova «should be evaluated for relevance» e danno tre esiti possibili: «No action, as existing measures provide sufficient protection», «Additional external measures», «Installation of latest firmware updates».
NIST SP 800-82 Rev. 3 dice chi decide e quando si interviene: «When and how to deploy patches should be determined by knowledgeable OT personnel… Patching should be deployed during planned OT outages.» Tradotto per chi segue la macchina: la decisione la prende chi conosce l’impianto, e l’intervento si fa nel fermo programmato, non il martedì mattina con la linea in marcia.
Su SSA-482757 la terza uscita, il firmware, per i codici colpiti non c’è. Restano le prime due, più la sostituzione della CPU, che è un intervento hardware e quindi va nel fermo come un aggiornamento.
Scheda di decisione
La tabella che segue è una sintesi nostra costruita sulle due fonti sopra. Nessun testo ufficiale la prescrive: usala come traccia, non come regola.
| Esposizione | Criticità della macchina | Finestra di fermo | Azione |
|---|---|---|---|
| Vettore fisico; CPU in armadio chiuso a chiave, chiavi censite | Qualsiasi | Non serve | Nessuna azione tecnica. Registra la valutazione con numero di versione del bollettino e data. Codice nuovo nella lista ricambi. |
| Vettore fisico; armadio aperto o in area dove passano terzi | Bassa | Lontana | Serratura e registro chiavi subito: non richiede fermo. Sostituzione della CPU solo al primo guasto o rinnovo. |
| Vettore fisico; armadio aperto o in area dove passano terzi | Alta | Entro pochi mesi | Serratura subito. CPU con nuovo secure boot ordinata, provata in banco e montata nel fermo. |
| Vettore di rete; CPU raggiungibile dalla rete di stabilimento | Qualsiasi | Lontana | Misure esterne subito (segmentazione e firewall della macchina). Firmware corretto, se esiste, nel fermo. |
| Vettore di rete; nessuna correzione prevista | Qualsiasi | Qualsiasi | Misure esterne come soluzione stabile, rivalutate a ogni nuova versione del bollettino. |
Le ultime due righe servono per bollettini diversi da SSA-482757, che è fisico. Le metto perché la scheda si riusa: il criterio è sempre «chi arriva alla CPU, e da dove».
Programmare la finestra di fermo
Quando la decisione è «sostituire la CPU» o «aggiornare il firmware», il lavoro vero sta nella preparazione. Il fermo va programmato come un intervento con un rischio suo.
- Backup della CPU prima di toccarla. In TIA: menu «Online», «Load backup from online device». Il backup include la password di protezione dei dati di configurazione riservati. Con una CPU da FW V4.1 in su, il ripristino richiede la stessa password usata al momento del backup, altrimenti non si ripristina. Chi va in campo deve avere quella password. Dettagli nell’articolo sul backup di PLC e HMI per ripartire dopo un ransomware.
- Ricambio pulito. Il Communication Function Manual di Siemens: «A CPU as replacement for an existing CPU should not have a configuration or a configured password». Una CPU presa da un’altra macchina non è un ricambio pronto.
- Progetto vecchio su CPU nuova. Un progetto creato con TIA Portal precedente alla V17 e caricato su una CPU V2.9 si comporta «with the same behavior as a configuration on an S7-1500 CPU V2.8»: nella nostra lettura, la comunicazione PG/HMI sicura non entra da sola. E una CPU da FW V3.0 con un progetto per firmware precedente riattiva SNMP con le community «public» e «private». Cambiare hardware senza rivedere il progetto porta sulla macchina i default vecchi. Come impostare le protezioni lo trovi nell’articolo su password e livelli di accesso dell’S7-1500.
- Aggiornamento firmware, se è quella la strada. Il manuale di sistema S7-1500 nell’edizione 12/2014 indica tre vie (online da STEP 7, memory card, web server) e avvisa che la CPU va in STOP durante l’installazione. È un’edizione datata: controlla percorso e comportamento sulla tua versione di TIA e firmware.
- Prova in banco, non sulla linea. Il codice nuovo si prova col progetto su una CPU fuori impianto prima del fermo. Se servono le versioni del software di engineering, la storia delle versioni di TIA Portal e la pagina su dove scaricare TIA Portal aiutano a ricostruire l’ambiente.
- Niente scansioni attive per censire le versioni sulla rete in esercizio. NIST: «Active scans may cause device instability or interfere with the device process state… should be scheduled to occur during planned OT outages whenever possible.» Il codice articolo si legge in TIA o sulla targhetta.
Scenario d’esempio: la Linea P1
La Linea P1 è un impianto di fantasia, lo stesso usato in tutto questo gruppo di articoli: una linea di pallettizzazione con un PLC S7-1500 a 192.168.10.10, un pannello HMI Comfort a 192.168.10.20, due periferie ET 200SP a 192.168.10.31 e .32, due switch, un laptop di servizio a 192.168.10.100 e un gateway di accesso remoto a 192.168.10.2. Per questo scenario, e solo in questo articolo, ipotizziamo che la CPU sia una CPU 1512SP-1 PN con codice 6ES7512-1DK01-0AB0: è un’ipotesi di fantasia, scelta perché quel codice compare nel bollettino.
Passo 1, il codice. Dall’inventario (e dalla targhetta, per sicurezza) risulta 6ES7512-1DK01-0AB0. Nella versione 1.5 di SSA-482757 quel codice c’è: «All versions», «Currently no fix is planned».
Passo 2, il vettore. Serve accesso fisico. La rete non cambia la valutazione: il gateway 192.168.10.2 e il laptop 192.168.10.100 qui non contano. Conta il quadro della Linea P1. Nello scenario il quadro sta in reparto, lungo il passaggio dei carrelli, e la chiave è appesa a un gancio accanto alla porta.
Passo 3, la criticità e la finestra. La linea lavora su due turni; il prossimo fermo di manutenzione programmato è fra dieci settimane. Fermare prima per cambiare una CPU costerebbe un giorno di produzione per una falla che richiede di aprire il quadro.
Decisione. Riga tre della scheda. Subito: la chiave va tolta dal gancio e custodita dal responsabile di manutenzione, con un registro di chi la ritira; nessun fermo. Al fermo fra dieci settimane: CPU 1512SP-1 PN 6ES7512-1DM03-0AB0, ordinata ora, provata prima in banco col progetto della Linea P1, backup della CPU in campo fatto a inizio fermo con la password dei dati riservati a disposizione. Una settimana prima del fermo si rilegge il bollettino sul portale: se la versione non è più la 1.5, si rifà il passo 1.
La riga nell’inventario diventa: «192.168.10.10 — 6ES7512-1DK01-0AB0 — SSA-482757 v1.5 (14/01/2025): interessata, nessuna correzione prevista — mitigazione: quadro chiuso, chiave in custodia al responsabile di manutenzione — sostituzione pianificata al fermo programmato».
Cosa NON fare
- Fermarsi al nome commerciale. «CPU 1510SP-1 PN» non dice se hai un codice colpito o una nuova versione hardware: te lo dice il codice articolo.
- Pensare che un aggiornamento firmware chiuda SSA-482757 su una CPU colpita. Per i codici in elenco il bollettino non ne prevede.
- Leggere lo stato sulla pagina CISA. Dal 10 gennaio 2023 CISA non aggiorna gli advisory Siemens oltre il primo.
- Scrivere «mitigato» senza guardare il quadro. Una serratura con la chiave appesa accanto non è una mitigazione.
- Cambiare CPU con la linea in marcia perché «è solo un ricambio». È un intervento sulla macchina e va nel fermo.
- Leggere un codice assente da questo bollettino come «sicuro». Dice solo che questo bollettino non lo riguarda.
Limiti di questo articolo
- I fatti su SSA-482757 vengono dalla versione 1.5 del 14/01/2025. L’elenco delle CPU con nuovo secure boot può essere cambiato: rileggi il bollettino sul portale ProductCERT.
- Il percorso dell’aggiornamento firmware viene da un manuale del 2014. Verifica sulla tua versione.
- Non trattiamo altri bollettini Siemens, né la compatibilità di progetto fra codici vecchi e nuovi: va provata in banco.
- Per le aziende nel perimetro NIS2, il D.Lgs. 138/2024 (art. 24, comma 2, lettera e) mette fra le misure la «gestione e la divulgazione delle vulnerabilità». Cosa comporta per chi programma lo spieghiamo in NIS2 e automazione industriale. Non è consulenza legale.
Un articolo precedente del blog parla di vulnerabilità dell’S7-1200; chi lavora sugli azionamenti trova il manuale Sinamics G120C. Per le CPU S7-1500 il riferimento resta il bollettino del costruttore.
Fonti
- Siemens ProductCERT, SSA-482757: Missing Immutable Root of Trust in S7-1500 CPU devices, versione 1.5, 14/01/2025
- CISA, ICSA-23-012-08, Siemens S7-1500 CPU devices, gennaio 2023
- CISA, ICSA-25-294-03 (nota sugli advisory Siemens)
- Siemens, Cybersecurity for Industry – Operational Guidelines, versione 2.2.1, aprile 2024
- NIST, SP 800-82 Rev. 3, Guide to Operational Technology (OT) Security, settembre 2023
- Siemens, CPU 1518-3 PN (6ES7518-3AT10-0AB0) Equipment Manual, 11/2024
- Siemens, S7-1500, ET 200MP, ET 200SP Communication Function Manual, 11/2025
- Siemens, S7-1500/ET 200MP System Manual, 12/2014 (edizione datata)
- Siemens, pagina ProductCERT (CSAF e RSS)
- D.Lgs. 4 settembre 2024, n. 138, art. 24, comma 2 (testo vigente su Normattiva)
Ultimo controllo: 29 settembre 2026

“Semplifica, automatizza, sorridi: il mantra del programmatore zen.”
Dott. Strongoli Alessandro
Programmatore
CEO IO PROGRAMMO srl


