Una vulnerabilità nell'implementazione del linguaggio R che consente l'esecuzione di codice durante l'elaborazione di file rds e rdx.

Nella versione principale del linguaggio di programmazione R, orientato alla risoluzione di problemi di elaborazione statistica, analisi e visualizzazione dei dati, è stata trovata una vulnerabilità critica (CVE-2024-27322) che consente l'esecuzione di codice durante la deserializzazione di dati non verificati. Questa vulnerabilità può essere sfruttata durante l'elaborazione di file appositamente formattati nei formati RDS (R Data Serialization) e RDX, utilizzati per lo scambio di dati tra applicazioni. Il problema è stato risolto con il rilascio di R 4.4.0. È possibile monitorare il rilascio degli aggiornamenti dei pacchetti nelle distribuzioni sulle pagine di Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch e FreeBSD.

La vulnerabilità è causata da una peculiarità del funzionamento della funzione readRDS, utilizzata per caricare file nei formati RDS e RDX, che consentono di trasferire oggetti R serializzati per l'elaborazione su un'altra macchina. La serializzazione offre la possibilità di fissare lo stato e condividere set di dati tra programmi. Il formato RDS consente di memorizzare lo stato di un singolo oggetto, mentre il formato RDX, insieme ai file RDB, consente di trasferire informazioni su più oggetti. Il problema è legato al fatto che il formato RDS supporta il codice oggetto PROMSXP, associato al tipo Promise, utilizzato per definire espressioni chiamate in modo asincrono durante l'uso dei valori ad esse associati.

Durante la deserializzazione, per determinare un oggetto Promise vengono utilizzati tre elementi: il valore della Promise, l'espressione e l'ambiente. Se per il tipo Promise non è stato specificato un valore pre-calcolato, esso viene calcolato durante la deserializzazione eseguendo l'espressione tramite la funzione "eval". In questo modo, un attaccante potrebbe ottenere l'esecuzione di codice arbitrario in linguaggio R, sostituendolo con l'espressione associata ai valori non calcolati nei file RDS o RDX.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster