Stored injection è un pattern di attacco in cui un input malevolo viene salvato da una parte di un sistema ed eseguito successivamente da un'altra. Il payload può essere scritto in un database, in un campo di configurazione, in un registro, in un profilo o in una coda, per poi essere riutilizzato senza una valida verifica o escaping adeguati. Poiché il contenuto pericoloso sopravvive al primo passaggio, l'attacco può essere persistente e può attivarsi molto tempo dopo la richiesta originale.
Questo è importante nella sicurezza informatica perché il secondo processo spesso viene eseguito con privilegi diversi o in un contesto differente. Ad esempio, un router o uno strumento di amministrazione web potrebbe memorizzare un valore come un nome di dispositivo, una regola di controllo genitori o un parametro VPN e poi passararlo a un comando shell o a un parser. I difensori riducono il rischio trattando tutto l'input memorizzato come non attendibile, convalidando i dati all'ingresso, codificandoli durante il rendering o l'esecuzione e evitando le shell di comando per le attività di routine. Lo stored injection è comune nelle app web, nelle console di gestione e nei flussi di lavoro automatizzati.


