La riflessione non sicura è un modello di programmazione in cui il software usa una logica guidata dall'input per caricare o risolvere classi, oggetti, metodi o driver in fase di esecuzione. La riflessione è utile per i plugin e i connettori di database, ma diventa pericolosa quando dati controllati dall'utente possono influenzare quale percorso di codice viene selezionato. Se la convalida è debole, un aggressore può reindirizzare l'esecuzione verso componenti inattesi o attivare comportamenti non previsti dallo sviluppatore.
Nella sicurezza informatica, la riflessione non sicura è importante perché può trasformare una funzionalità normale in un percorso di esecuzione del codice o di abuso dei privilegi. Gli aggressori cercano nomi di classi riflessi, stringhe di driver o identificatori di oggetti accettati senza liste consentite rigorose. I difensori riducono il rischio codificando in modo fisso i target attendibili, convalidando gli input in base a valori noti, limitando il caricamento dinamico e verificando la presenza di risoluzioni runtime inattese. Quando è esposto un servizio di gestione vulnerabile, la riflessione non sicura può diventare un problema ad alta priorità perché può consentire a un aggressore di raggiungere la logica profonda dell'applicazione invece di un singolo endpoint web.


