Sabato 24 Ottobre 2026 02:56:11 GMT+02:00

Netcrook

HomeManifesto
News
Techcrook
Geocrook
WikicrookTeamAppContatti
ItalianoEnglish

WIKICROOK

Marshal.load

Un metodo Ruby che deserializza i dati in oggetti e non dovrebbe essere usato su input non attendibili.

Marshal.load è un metodo di deserializzazione di Ruby: prende byte serializzati e li ricostruisce in oggetti Ruby attivi. Questa comodità è utile per archiviazione attendibile, ma è pericolosa quando l'input può essere influenzato da un attaccante. La deserializzazione può attivare costruttori di oggetti, callback e altri hook che non erano mai destinati a elaborare dati ostili.

Nella sicurezza informatica, Marshal.load è importante perché la deserializzazione non sicura è un percorso comune verso l'esecuzione di codice. Se un'applicazione carica dati non attendibili e il runtime ha metodi gadget raggiungibili, un attaccante può concatenare il comportamento normale degli oggetti in un'azione non prevista, inclusa l'esecuzione remota di comandi. Le difese sono semplici: non usare Marshal.load su dati controllati dall'utente, preferire formati primitivi come JSON e mantenere qualsiasi formato di oggetti binari all'interno di un confine di fiducia rigoroso con autenticazione e convalida.

← indice WIKICROOK