Una grave vulnerabilità, denominata Stack Clash , è stata riprodotta tramite exploit dai ricercatori di Qualys lo scorso Maggio.
In realtà, Stack Clash è una problematica dei sistemi Unix già affrontata molteplici volte: difatti, bug analoghi sono stati risolti su varie piattaforme negli ultimi dodici anni: sono di rilievo le analisi effettuate nel 2005 da Gaël Delalleau e nel 2010 da Rafal Wojtczuk .
L’esecuzione di un’applicazione, in un sistema operativo Unix, avviene in due aree di memoria ben distinte, l’ heap e lo stack : il primo cresce dall’alto verso il basso, il secondo dal basso verso l’alto. Sebbene vi siano una serie di controlli volti ad evitare che lo stack collida con l’heap od altre aree di memoria, tra cui l’introduzione di una guard-page grande alcuni kilobyte , i ricercatori di Qualys sono stati in grado di produrre diversi exploit che portano a privilege escalation , la quale per il momento può avvenire a livello esclusivamente locale. Tuttavia, la combinazione di questa vulnerabilità con altre – relative ad applicativi installati – che siano in grado di produrre remote code execution , potrebbe aggravare il quadro della situazione.
I sistemi operativi coinvolti sono molti: Linux, Unix, FreeBSD, OpenBSD, NetBSD, Solaris , sia su architettura i386 che amd64 . I ricercatori di Qualys stanno lavorando con i diversi team da diverse settimane, in modo da garantire un rilascio tempestivo di tutte le patch necessarie, che sono ad oggi disponibili. Per la stessa ragione, gli exploit prodotti non sono stati pubblicati; questo avverrà forse nei prossimi mesi.
Un’alternativa temporanea al patching dei propri sistemi può essere il settaggio ad un valore ragionevolmente basso dei parametri RLIMIT_STACK e RLIMIT_AS , che indicano rispettivamente la dimensione massima dello stack e dello spazio di indirizzamento usati da un determinato applicativo o servizio. Tuttavia, ciò non dà garanzia assoluta di resistenza ad ogni tipo di attacco.
Elia Tufarolo