CVE-2026-17106 CopyEscape: vulnerabilita docker cp

“`html

Una nuova vulnerabilità critica sta mettendo in allarme chi lavora quotidianamente con container Docker. Si chiama CVE-2026-17106, conosciuta anche con il nome in codice “CopyEscape”, ed è stata scoperta dall’Imperva Red Team. Il problema riguarda il comando docker cp (e il suo equivalente sbx cp nelle Docker Sandboxes) e può permettere a un container malevolo di scrivere file al di fuori della destinazione prevista sul sistema host. In alcuni scenari Linux, questo può addirittura portare a un’escalation di privilegi fino a root.

In questo articolo vediamo come funziona questa vulnerabilità, quali sono gli scenari di rischio più concreti e, soprattutto, come proteggersi subito.

Cos’è CVE-2026-17106 (CopyEscape)

CopyEscape sfrutta una combinazione di fattori tecnici che, messi insieme, permettono di aggirare i controlli di sicurezza previsti durante l’operazione di copia file da un container verso l’host. In sintesi, il problema nasce da:

Il risultato? Un container compromesso o volutamente malevolo può forzare la scrittura di file sensibili sull’host, aprendo la strada a persistenza, furto di credenziali o, nei casi peggiori, escalation a root.

Come funziona tecnicamente l’attacco

Per capire la portata del problema, è utile guardare al meccanismo che sta dietro docker cp, senza entrare nei dettagli di un exploit vero e proprio.

La pipeline tar tra daemon e client

Quando si esegue docker cp, il daemon Docker analizza il filesystem del container e genera uno stream in formato tar, che descrive file, directory e symlink. Questo stream viene poi trasmesso al client (la CLI di Docker), che si occupa di estrarlo nella cartella di destinazione sull’host.

Il problema della validazione dei path

Il codice che gestisce questa operazione effettua dei controlli per evitare che i file vengano scritti fuori dalla cartella di destinazione (ad esempio bloccando tentativi di path traversal con ../). Il problema è che questi controlli vengono eseguiti su una versione del percorso che non corrisponde esattamente a quella usata realmente al momento della scrittura del file.

La race condition con i symlink

Qui entra in gioco la parte più insidiosa della vulnerabilità. Un processo interno al container può, in un momento preciso della sequenza di copia, sostituire una directory con un symlink che punta a un percorso esterno alla destinazione. Se il controllo di sicurezza viene fatto su una versione del path e la scrittura effettiva segue invece il nuovo symlink, il file finisce scritto in un punto del filesystem host completamente diverso da quello previsto.

Quando l’attacco può realmente verificarsi

Perché CopyEscape possa essere sfruttata, servono alcune condizioni specifiche:

Scenari di impatto concreti

Gli effetti di questa vulnerabilità cambiano a seconda del contesto in cui viene sfruttata.

macOS e workstation

Su un ambiente desktop, l’attacco può portare alla sovrascrittura di file critici dell’utente, come script di avvio, configurazioni SSH, LaunchAgents o profili shell. Questo apre la strada a persistenza sul sistema o al furto di credenziali. Anche chi lavora in ambito forense, estraendo artefatti da un container sospetto, rischia inconsapevolmente di installare backdoor sul proprio computer.

Server Linux

In ambito server la situazione è ancora più delicata. Se docker cp viene eseguito con privilegi elevati, un attaccante potrebbe sovrascrivere binari di sistema o script eseguiti automaticamente da altri servizi, incluso in alcuni casi runtime come runc. Il rischio concreto è un’escalation di privilegi fino a root. Allo stesso modo, file di configurazione sensibili come quelli SSH, cron o systemd possono diventare bersaglio per ottenere persistenza sul sistema.

Pipeline CI/CD e automazioni

Le pipeline automatizzate che raccolgono log o artefatti da container in esecuzione, senza fermarli prima, rappresentano un vettore di attacco particolarmente esposto. Automatizzare la copia significa spesso eseguire operazioni con permessi elevati, senza il controllo manuale che un operatore umano potrebbe applicare.

Ambienti AI-agent e sandbox

La stessa logica di attacco colpisce anche i comandi di copia usati nelle Docker Sandboxes, pensate per agenti AI. Un agente compromesso o malevolo potrebbe sfruttare gli artefatti di output per attaccare l’host o l’infrastruttura che ospita la sandbox stessa.

Il paradosso operativo di CopyEscape

C’è un aspetto particolarmente ironico in questa vulnerabilità: l’azione compiuta per raccogliere prove da un container sospetto, ad esempio in un’indagine forense, è proprio quella che può innescare la fuga dal container stesso. Lo stesso vale per chi recupera output da agenti AI: estrarre artefatti può trasferire il danno direttamente sull’host.

Gli analisti di sicurezza e gli strumenti automatici sono quindi particolarmente esposti, perché spesso operano con permessi elevati o su container ancora in esecuzione, senza metterli in pausa prima dell’operazione di copia.

Patch ufficiali e mitigazioni

La prima linea di difesa resta, come sempre, l’aggiornamento tempestivo. Le versioni corrette sono:

È sempre consigliabile verificare gli annunci di sicurezza ufficiali e i changelog forniti direttamente da Docker.

Mitigazioni temporanee

In attesa di aggiornare, o come pratica di hardening aggiuntiva, si possono adottare queste contromisure:

Hardening aggiuntivo

Per chi gestisce ambienti particolarmente sensibili, è utile anche:

Come verificare la propria esposizione

Alcuni controlli pratici per capire se si è a rischio:

La lezione di fondo

CopyEscape ci ricorda un principio fondamentale della sicurezza informatica: l’estrazione di archivi non è mai un confine di fiducia sicuro di per sé. I controlli basati solo su normalizzazione delle stringhe di percorso possono essere aggirati facilmente in presenza di symlink e modifiche concorrenti al filesystem.

Questo principio va oltre Docker e si applica a qualsiasi sistema che estrae archivi provenienti da zone non fidate verso zone di fiducia. Bisogna sempre considerare:

In pratica, non basta affidarsi a una lista nera di percorsi o a semplici normalizzazioni. Servono controlli a livello di I/O e, quando possibile, eseguire l’estrazione in ambienti isolati e non privilegiati, verificando sempre il contenuto prima di spostarlo in produzione o in percorsi sensibili.

Conclusione

CVE-2026-17106, alias CopyEscape, dimostra ancora una volta quanto sia delicato il confine tra container e host, soprattutto quando si tratta di operazioni apparentemente semplici come una copia di file. La combinazione di pipeline tar, validazione imperfetta dei path e race condition con symlink può trasformare un comando di routine come docker cp in un vettore di attacco serio, capace in certi scenari di portare fino alla escalation a root su sistemi Linux.

La buona notizia è che le patch ufficiali sono già disponibili: aggiornare a Docker Engine/CLI 29.7.2, Docker Desktop 4.86.0 e Docker Sandboxes 0.38.0 risolve il problema alla radice. Nel frattempo, adottare le mitigazioni consigliate, monitorare i log e applicare il principio del least privilege sono passi fondamentali per ridurre il rischio, specialmente per chi lavora quotidianamente con container in ambienti di produzione, CI/CD o forensics.

“`