top of page

La compromissione della CA intermedia eMudhra impone aggiornamenti oltre i browser

7 giorni fa
Tempo di lettura: 13 min

Le otto chiavi delle autorità di certificazione intermedie compromesse di eMudhra hanno imposto blocchi d'emergenza, ma la protezione dei browser non conclude la bonifica. La compromissione della CA intermedia eMudhra mette ora sotto pressione i manutentori del software le cui applicazioni includono elenchi separati di certificati attendibili. Sullo stesso computer possono coesistere un browser protetto e un ambiente di sviluppo non aggiornato.

Un'autorità di certificazione, o CA, garantisce per le identità associate ai certificati digitali. Una CA intermedia detiene un'autorità di firma delegata da una radice attendibile, il certificato al vertice di una catena accettata. Quando la sua chiave privata di firma diventa recuperabile, gli aggressori possono creare credenziali che i client vulnerabili accettano.

Google e Mozilla si sono mossi rapidamente per bloccare le chiavi interessate. Il conflitto residuo è tra le difese dei browser distribuite centralmente e gli archivi di attendibilità del software aggiornati in modo indipendente, ossia le raccolte di autorità accettate dalle applicazioni. Per sviluppatori, team infrastrutturali e acquirenti di software, questa distinzione determina se un aggiornamento chiude davvero l'esposizione.

La compromissione della CA intermedia eMudhra va oltre otto certificati

Le risorse compromesse sono autorità di firma, quindi il rischio va oltre la sostituzione dei singoli certificati dei siti web.

La divulgazione del ricercatore riguarda otto chiavi di CA intermedie. Sei intermedie riguardano TLS, il protocollo che autentica e cifra le connessioni di rete, mentre due riguardano la firma del codice, che identifica gli editori di software. Questi utilizzi richiedono analisi distinte, anziché trattare ogni certificato interessato come una credenziale web intercambiabile.

L'incidente coinvolge anche la firma incrociata, in cui un'altra autorità certifica la stessa chiave pubblica. Di conseguenza, bloccare un certificato attraverso una catena non elimina necessariamente un altro percorso verso l'attendibilità. La domanda rilevante è se un client rifiuti l'autorità di firma compromessa lungo i percorsi che accetta.

Questo spiega perché il solo numero riportato nei titoli sottostima il problema operativo. Un'intermedia non è semplicemente un altro sito web nel calendario dei rinnovi di un amministratore. Partecipa alla decisione su quali siti web o servizi meritino autenticazione.

Per un client vulnerabile, un certificato contraffatto può apparire legittimo perché la relazione di firma risulta ancora valida. Il guasto risiede nell'accettazione del firmatario, anche quando la verifica crittografica segue le sue normali regole.

Questa distinzione è importante quando si discute se la cifratura stessa abbia fallito. L'incidente riguarda l'autenticazione, il processo che stabilisce chi si trova all'altro capo di una connessione. Una cifratura robusta non può stabilire l'identità corretta quando la credenziale accettata proviene da un'autorità compromessa.

Un aggressore deve comunque riuscire a presentare la credenziale contraffatta a una vittima. Il possesso di una chiave CA non reindirizza automaticamente ogni connessione né espone ogni conversazione cifrata. La posizione nella rete e il comportamento del client restano parte delle condizioni dell'attacco.

Né questa divulgazione dimostra che ogni certificato emesso da eMudhra sia fraudolento. L'ambito di una compromissione di chiave, quello della rimozione di una radice e quello della migrazione dei clienti sono correlati ma distinti.

La conseguenza pratica è un problema di responsabilità più ampio. I sottoscrittori di certificati devono valutare se i loro servizi necessitino di credenziali sostitutive. I manutentori del software devono valutare ciò che i loro client accetteranno, indipendentemente dall'autorità che firma i loro siti web.

Queste responsabilità possono ricadere su team diversi all'interno della stessa organizzazione. Un team web potrebbe completare la propria migrazione mentre un raccoglitore dati interno continua ad accettare una catena interessata. Al contrario, un team client potrebbe rimuovere l'attendibilità mentre un servizio esposto esternamente necessita ancora di un certificato sostitutivo.

La compromissione della CA intermedia eMudhra crea quindi lavoro su entrambi i lati di una connessione. I difensori devono esaminare l'identità che presentano e le autorità che riconoscono.

Per i lettori che seguono l'incidente, questo è il primo limite utile: sostituire un certificato server e aggiornare le decisioni di attendibilità di un client risolvono problemi diversi. Completare una delle due attività non dimostra che l'altra sia conclusa.

Le difese dei browser si sono mosse più rapidamente degli archivi di attendibilità del software

La protezione d'emergenza di un browser non può stabilire la sicurezza di altre applicazioni sullo stesso dispositivo.

Mozilla afferma che Firefox ha ricevuto protezione tramite OneCRL, la sua lista di blocco dei certificati distribuita centralmente, il 17 ottobre. La distribuzione è terminata alle 22:59 UTC per le configurazioni standard. Le release successive hanno corretto le configurazioni che non avevano ricevuto tali aggiornamenti.

L'azienda ha inoltre rimosso la radice pertinente da NSS, la propria libreria di sicurezza e infrastruttura per i certificati. Questa misura separata protegge le applicazioni downstream che ereditano i certificati attendibili di Mozilla senza ricevere gli aggiornamenti di blocco in tempo reale di Firefox. La risposta al blocco dei certificati di Mozilla distingue esplicitamente questi percorsi di distribuzione.

Mozilla ha poi rilasciato Firefox per Android 158.0.2 il 21 ottobre. L'aggiornamento ha corretto un problema che impediva ad alcuni client di applicare la lista di blocco inclusa subito dopo l'avvio. Anche all'interno di una famiglia di browser, i dettagli di implementazione hanno influenzato il modo in cui la protezione raggiungeva gli utenti.

Per un'azienda, la domanda risultante è più specifica del semplice verificare se i dipendenti abbiano installato un aggiornamento del browser. Quale componente prende la decisione di attendibilità per ciascuna connessione e come riceve le modifiche d'emergenza?

Si consideri una postazione di lavoro ipotetica usata per ricerca e sviluppo. Il browser recupera le informazioni di blocco correnti, mentre un'applicazione da riga di comando si basa su un file di certificati installato con una release precedente. Testare il browser risponde a una domanda sul browser.

La stessa separazione può comparire nelle applicazioni pacchettizzate. Un fornitore potrebbe integrare componenti di rete per offrire un comportamento prevedibile su diversi sistemi operativi. Questa scelta crea anche la responsabilità di distribuire le modifiche di attendibilità tramite il processo di rilascio del fornitore stesso.

Qui esiste un compromesso. I pacchetti indipendenti possono rendere il software portabile e ridurre la dipendenza dalla configurazione locale. Creano però anche copie aggiuntive della policy di sicurezza che qualcuno deve mantenere.

Un servizio di aggiornamento centralizzato può modificare il comportamento senza attendere una release completa dell'applicazione. Un pacchetto statico richiede un altro meccanismo di distribuzione. Nessuna delle due soluzioni elimina la necessità di verificare che l'applicazione distribuita abbia effettivamente ricevuto la modifica pertinente.

Ecco perché un'affermazione di un fornitore secondo cui “usa i certificati Mozilla” richiede interpretazione. Potrebbe descrivere l'origine di una raccolta di certificati anziché la partecipazione all'infrastruttura di risposta d'emergenza di Mozilla. Un'origine condivisa non garantisce aggiornamenti sincronizzati.

Per gli acquirenti, l'evidenza utile è una spiegazione specifica per prodotto. Un fornitore dovrebbe identificare se la propria applicazione usa certificati di sistema, una raccolta inclusa o un verificatore separato. Dovrebbe poi spiegare come l'autorità interessata diventi inaccettabile.

Un inventario limitato ai sistemi operativi non coglierà questa distinzione. Potrebbe non coglierla neppure un inventario limitato ai nomi delle applicazioni. L'unità rilevante è il componente distribuito responsabile dell'accettazione dell'identità remota.

La pressione ricade ora sui proprietari del software che in precedenza trattavano i certificati attendibili come dati di installazione in background. Durante un incidente CA, tali dati diventano una dipendenza attiva con un requisito urgente di aggiornamento.

La lezione più ampia è operativa: la copertura di sicurezza segue il percorso della connessione. Le organizzazioni dovrebbero valutare l'applicazione che effettua la richiesta, anziché dedurre la protezione dall'aggiornamento riuscito di un'altra applicazione.

Gli aggiornamenti Python mostrano i limiti di una singola patch

La correzione in Python richiede attenzione all'installer, alle dipendenze dell'applicazione e all'ambiente distribuito.

Le linee guida di sicurezza Python di Seth Michael Larson raccomandano almeno pip 26.2.2, uv 0.13.4 e certifi 2026.10.19. Pip e uv installano pacchetti Python; certifi distribuisce una raccolta di certificati radice attendibili.

Le linee guida raccomandano specificamente certifi 2026.10.19 anziché 2026.10.18 per la compatibilità con le radici emSign non interessate. Una versione precedente correlata alla sicurezza non è quindi automaticamente il miglior punto di arrivo per la correzione.

Il contributore Python Christian Heimes spiega inoltre una distinzione significativa: pip upstream carica i propri certificati certifi inclusi insieme all'attendibilità di sistema. Aggiornare soltanto i certificati del sistema operativo non rimuove l'attendibilità obsoleta incorporata in una precedente installazione upstream di pip.

Il changelog pubblicato da pip conferma che la versione 26.2.2 aggiorna il proprio certifi incluso alla versione 2026.10.19. Anche l'aggiornamento dei certificati inclusi di Astral identifica uv 0.13.4 come aggiornamento di sicurezza immediato e aggiorna la propria raccolta di radici incorporata.

Queste correzioni illustrano perché “Python è aggiornato” sia una dichiarazione incompleta di risposta all'incidente. Può descrivere l'interprete dicendo poco dell'installer di pacchetti o dell'ambiente applicativo che lo utilizza.

Un ambiente virtuale, una raccolta isolata di pacchetti Python, può conservare le dipendenze indipendentemente da un altro ambiente sulla stessa macchina. Questo isolamento è utile per la compatibilità. Significa però anche che la correzione necessita di un ambito definito.

Si consideri un team di ingegneria ipotetico con un ambiente di sviluppo interattivo e un ambiente separato per le release automatizzate. Aggiornare l'installer dello sviluppatore non stabilisce cosa utilizzi l'ambiente di release. Il processo di rilascio necessita delle proprie evidenze.

Lo stesso ragionamento si applica a un'applicazione che importa la propria copia installata di certifi. Aggiornare i certificati incorporati di un gestore di pacchetti e aggiornare una dipendenza applicativa sono modifiche separate. I loro nomi possono sovrapporsi, ma i loro confini di rilascio restano diversi.

Questo complica la responsabilità. Gli ingegneri della piattaforma possono gestire l'interprete, gli sviluppatori possono mantenere le dipendenze applicative e gli ingegneri di rilascio possono gestire gli strumenti di build. Una risposta completa richiede che queste responsabilità convergano.

Un utile registro dell'incidente descrive quindi dove viene eseguito il componente corretto. “Aggiornamento completato” dovrebbe riferirsi a un ambiente denominato o a un artefatto distribuito, anziché a un comando eseguito da qualcuno su una macchina non specificata.

L'aggiornamento di sicurezza di uv evidenzia anche una distinzione tra strumenti con finalità simili. Pip e uv partecipano entrambi all'installazione di pacchetti, ma la gestione dei certificati e i percorsi di aggiornamento meritano una verifica specifica per prodotto. I team dovrebbero evitare di trasferire presupposti da uno strumento all'altro.

Il packaging delle distribuzioni può introdurre ulteriori differenze rispetto alle release upstream. Gli amministratori dovrebbero seguire l'avviso del proprio distributore quando valutano un pacchetto modificato, anziché stabilire l'esposizione basandosi esclusivamente su un numero di versione upstream.

La compromissione della CA intermedia eMudhra trasforma questi dettagli in una questione di supply chain. L'installazione dei pacchetti fa parte del processo che introduce codice eseguibile in un'organizzazione. L'autenticazione di tale connessione rientra nel perimetro di sicurezza della build.

La risposta appropriata deve quindi andare oltre il semplice aggiornamento di un elenco di dipendenze. I team devono stabilire quale installer esegue i download, quale policy sui certificati applica e quali ambienti distribuiti contengono ancora copie precedenti.

Questo lavoro dovrebbe restare collegato alle indicazioni del manutentore pertinente. Soluzioni improvvisate che indeboliscono la convalida dei certificati comprometterebbero la protezione che gli aggiornamenti sono destinati a ripristinare.

I responsabili di Linux e container ereditano il divario di distribuzione

Un pacchetto corretto protegge i sistemi distribuiti solo dopo aver raggiunto il software che tali sistemi eseguono effettivamente.

L'avviso sul trust store di Red Hat identifica ca-certificates, il pacchetto che fornisce l'attendibilità dei certificati di sistema, come il canale di aggiornamento pertinente per i suoi prodotti interessati. Invita gli amministratori ad applicare i pacchetti corretti quando disponibili.

L'avviso riguarda anche i container basati su immagini interessate. Un'immagine container racchiude un'applicazione e i suoi file di runtime per la distribuzione. Red Hat afferma che i container dei clienti dovrebbero essere ricostruiti quando diventano disponibili immagini di base aggiornate.

Questo requisito cambia il significato del completamento della correzione. Un host può ricevere certificati di sistema aggiornati mentre un'applicazione continua a eseguire file acquisiti in un'immagine precedente. L'amministratore necessita di evidenze sia sul carico di lavoro sia sul suo host.

Per un ipotetico team di servizio, la catena di remediation include l'ottenimento della base corretta, la ricostruzione dell'applicazione e la distribuzione dell'artefatto risultante. Ogni fase può avere successo mentre quella successiva resta in attesa.

Questo crea un noto problema di coordinamento con una conseguenza di sicurezza specifica. I team infrastrutturali possono rendere disponibile un'immagine corretta, ma i responsabili delle applicazioni decidono comunque quando i loro carichi di lavoro la adottano. Disponibilità e distribuzione sono traguardi distinti.

La stessa distinzione influenza la pianificazione del rollback. Se un'organizzazione ripristina un artefatto precedente durante un'interruzione non correlata, dovrebbe considerare se quell'artefatto ripristina anche dati di attendibilità obsoleti. Le procedure di recovery devono preservare le correzioni di sicurezza.

Questo non significa che ogni container richieda lo stesso aggiornamento. Le applicazioni possono usare certificati di sistema, certificati incorporati o un'altra configurazione di attendibilità. La risposta appropriata dipende dall'effettivo percorso di verifica dei certificati dell'applicazione.

Questa variabilità rende difficili le rassicurazioni generalizzate. Una dashboard della flotta che mostra le patch correnti degli host fornisce evidenze utili, ma non descrive completamente le applicazioni pacchettizzate in modo indipendente. I responsabili di prodotto devono collegare lo stato dell'infrastruttura al comportamento dell'applicazione.

Eliminare in modo esteso un trust obsoleto comporta anche un costo di manutenzione. La rimozione di una root può interrompere servizi legittimi che dipendono ancora da una catena accettata attraverso di essa. I team di sicurezza e i responsabili dei servizi devono coordinare questo rischio di compatibilità.

Considerare ogni conseguente errore di connessione come un difetto dell'applicazione oscurerebbe la causa. Un rifiuto può rappresentare la modifica di sicurezza prevista, anche se gli amministratori devono comunque distinguerlo da errori non correlati.

L'obiettivo operativo è preservare l'autenticazione mentre i servizi legittimi vengono trasferiti verso credenziali accettabili. Ripristinare la connettività disabilitando la verifica scambierebbe un'interruzione visibile con un'esposizione meno visibile.

Per gli acquirenti aziendali, questo incidente offre una domanda concreta da porre ai fornitori. La remediation del fornitore copre il software installato, le immagini pubblicate, i carichi di lavoro in esecuzione e le distribuzioni meno recenti ancora supportate? Queste categorie richiedono risposte esplicite.

Le evidenze più solide di completamento descrivono l'artefatto e il suo comportamento. Un numero di release aiuta a identificare la modifica, mentre un rifiuto convalidato dell'autorità interessata aiuta a stabilirne l'effetto.

Le organizzazioni possono conservare tali decisioni in una base di conoscenza ricercabile insieme ai record di distribuzione e agli avvisi dei fornitori. Lo scopo è la tracciabilità: i team devono sapere perché un certificato è stato rimosso e quali ambienti hanno ricevuto la correzione.

Questo lavoro è meno visibile della risposta iniziale del browser, ma determina quanto a lungo persiste una trust vulnerabile. L'incidente resta operativamente rilevante ovunque la distribuzione segua con ritardo la disponibilità di una correzione.

La spiegazione di eMudhra lascia aperte domande sulla responsabilità

L'assenza di un'intrusione nell'infrastruttura non renderebbe sicure le chiavi di firma recuperabili.

Nella sua dichiarazione del 21 ottobre sulla generazione delle chiavi, eMudhra attribuisce l'incidente a un difetto durante una cerimonia di generazione delle chiavi del 30 aprile 2025. Afferma che una fase di wrapping e unwrapping ha prodotto chiavi deboli insieme agli originali robusti.

L'azienda afferma che le chiavi deboli sono state associate ai certificati attendibili e che la sua indagine sulla causa principale è ancora in corso. Afferma inoltre che la propria infrastruttura non ha subito compromissioni né violazioni dei dati.

Si tratta di dichiarazioni dell'azienda, non di una ricostruzione indipendente completata. Rispondono a una domanda diversa da quella relativa alla capacità delle chiavi di firma interessate di autenticare certificati fraudolenti. Un incidente può avere origine nella generazione o nella gestione senza richiedere un furto successivo.

eMudhra afferma inoltre che le sue attività indiane di firma digitale ed eSign operano separatamente e restano inalterate. Questo confine dichiarato è importante per definire l'ambito, ma non dovrebbe trasformarsi in una rassicurazione generalizzata su ogni prodotto che porta il nome dell'azienda.

L'azienda fa riferimento a moduli di sicurezza hardware, dispositivi progettati per proteggere le chiavi crittografiche, e a precedenti audit indipendenti. Questi controlli fanno parte del suo resoconto. Non chiariscono in modo indipendente ciò che è accaduto lungo l'intero workflow.

La questione della responsabilità riguarda quindi il rapporto tra un componente protetto e la credenziale attendibile risultante. Gli acquirenti devono avere fiducia nel processo che produce e pubblica le chiavi, non semplicemente nella presenza di hardware di sicurezza.

Un'indagine utile dovrebbe distinguere ciò che gli operatori intendevano generare da ciò che il software che fa affidamento sulle chiavi ha infine accettato. Dovrebbe inoltre identificare dove la convalida avrebbe dovuto rilevare la discrepanza. Questo è il ponte tra una spiegazione e una correzione preventiva.

La dichiarazione dell'azienda menziona possibili tecniche assistite dall'AI nel lavoro del ricercatore. Non stabilisce che l'AI sia stata una causa necessaria della scoperta. Presentare questo come una svolta crittografica guidata dall'AI andrebbe oltre le evidenze disponibili.

Esiste un limite altrettanto importante nella direzione opposta. La capacità di creare credenziali fraudolente non dimostra che gli aggressori abbiano intercettato con successo il traffico dei clienti. L'esposizione potenziale e lo sfruttamento osservato richiedono evidenze distinte.

La compromissione della eMudhra Intermediate CA giustifica una remediation urgente senza annullare queste distinzioni. La gravità deriva dall'autorità delle chiavi interessate. Le affermazioni sulle vittime effettive richiedono una propria dimostrazione.

Per i clienti, il seguito più informativo spiegherà il guasto, i suoi confini e la verifica delle misure correttive. Le rassicurazioni sulle operazioni non interessate possono essere utili, ma non possono sostituire un resoconto tecnico del processo coinvolto.

Auditor e root program affrontano una questione collegata. Quali controlli valutano le chiavi pubbliche finali e quali controlli documentano principalmente la cerimonia o le apparecchiature? L'incidente rende questa differenza rilevante per la fiducia nelle future emissioni.

Questo non giustifica l'ipotesi che autorità non correlate condividano lo stesso difetto. Sostiene invece la necessità di chiedere se guasti equivalenti verrebbero rilevati altrove. Il confronto appropriato riguarda controlli osservabili e meccanismi di risposta, anziché affermazioni non supportate sui concorrenti.

Un ripristino credibile richiederà evidenze che colleghino la causa dichiarata a un rimedio testato. Finché tale collegamento non sarà pubblico, la spiegazione dell'azienda resterà un resoconto sotto indagine.

Il 27 ottobre crea un test concreto della bonifica

La prossima fase sarà giudicata in base alla protezione distribuita, alla migrazione dei servizi e alle evidenze sul guasto originario.

Google ha annunciato un ulteriore passo oltre il blocco d'emergenza del browser. Il suo calendario di rimozione della root fissa al 27 ottobre 2026, ora del Pacifico, la data prevista per i dispositivi che si affidano al Chrome Root Store.

Un root store è la raccolta di ancore di attendibilità usate da un verificatore. La rimozione di emSign ECC Root CA - G3 estende la protezione ai consumatori che non ricevono le informazioni di blocco d'emergenza di Chrome. Google avverte che anche i certificati legittimi che concatenano alla root smetteranno di funzionare.

Il primo segnale da osservare è questa rimozione programmata e la migrazione che la circonda. La sostituzione riuscita dei certificati dei servizi interessati rafforzerebbe la fiducia che le modifiche di sicurezza possano raggiungere gli utenti senza interruzioni prolungate.

I fallimenti di connessione richiederebbero un'interpretazione anziché un verdetto immediato. Potrebbero rivelare una migrazione incompleta degli abbonati, una catena di certificati imprevista o un problema di configurazione distinto. Gli operatori devono collegare i sintomi alla precisa modifica di attendibilità.

Il secondo segnale è la copertura della distribuzione a valle. Le release dei manutentori dei pacchetti stabiliscono che le correzioni esistono. Le evidenze dei fornitori di applicazioni e dei responsabili dell'infrastruttura stabiliscono se tali correzioni hanno raggiunto gli ambienti utilizzati dalle persone.

I rapporti sui progressi utili dovrebbero indicare prodotti supportati e canali di distribuzione. Dovrebbero spiegare se gli amministratori devono ricostruire, ridistribuire, riavviare o installare una release. Un'affermazione generica secondo cui i certificati sono stati aggiornati lascia troppe questioni irrisolte.

Questo segnale rafforzerà o indebolirà il giudizio centrale dell'articolo. Se le applicazioni a valle convergeranno rapidamente verso il rifiuto delle autorità interessate, il divario di distribuzione si ridurrà. Distribuzioni persistentemente non supportate mostreranno perché la sola protezione del browser era insufficiente.

Il terzo segnale è l'indagine completata e le conseguenti decisioni del root program. Google afferma che sta esaminando la continua inclusione dei restanti certificati CA di eMudhra. L'esito riguarderà la fiducia istituzionale oltre il blocco immediato.

Un resoconto dettagliato del guasto, misure correttive valutate in modo indipendente e un ambito chiaro rafforzerebbero la fiducia nel ripristino. Spiegazioni mancanti o questioni di convalida irrisolte indebolirebbero tale fiducia.

Questi segnali dovrebbero restare distinti. Una distribuzione rapida non può spiegare il difetto di generazione originario. Un'indagine convincente non può proteggere retroattivamente un carico di lavoro che esegue ancora dati di attendibilità obsoleti.

Per i lettori, la domanda pratica è se la loro organizzazione possa dimostrare sia la risposta sia la comprensione. La risposta rimuove il percorso di accettazione immediato. La comprensione chiarisce se la stessa classe di guasto possa ripetersi.

Prima di chiudere un ticket relativo alla compromissione della eMudhra Intermediate CA, chiedete quali applicazioni effettuano ancora connessioni di rete utilizzando certificati gestiti in modo indipendente. Richiedete evidenze per l'ambiente in esecuzione, inclusi gli installer dei pacchetti e le immagini distribuite. Confermate che le migrazioni dei servizi legittimi preservino la verifica dei certificati anziché aggirarla. Conservate le indicazioni pertinenti del fornitore accanto al record di distribuzione e assegnate una responsabilità per gli ambienti in attesa di una correzione supportata. Con l'avvicinarsi del 27 ottobre, riesaminate i servizi che dipendono dalla root interessata e verificate il loro stato di sostituzione. Seguite quindi l'indagine per ottenere evidenze che colleghino il guasto dichiarato a una correzione verificata. Il vostro team può dimostrare sia che l'autorità compromessa viene rifiutata sia che i suoi servizi normali continuano ad autenticarsi correttamente?

 
 

Inizia gratis

Un assistente IA local-first con gestione della conoscenza personale

Per una migliore esperienza con l’IA,

al momento remio supporta solo Windows 10+ (x64) e M-Chip Macs.

Il tuo partner AI al lavoro
Fai di più con remio

Pianifica. Crea. Consegna.
Tutto in un unico posto.

bottom of page