
Simula il bug di overread CVE-2023-4966 Citrix Bleed
Simula il bug overread di Citrix Bleed CVE-2023-4966
Questo è il mio progetto finale per Harvard CS50 Cybersecurity 2023. Parla di un bug. Un piccolo bug – con conseguenze enormi e continue. In questa presentazione condividerò le “intuizioni sanguinanti” del piccolo errore di uno sviluppatore. Un errore che continua a causare grossi problemi a potenzialmente milioni di persone.
Registrato il 4 dicembre 2023
Questo programma dimostrativo in C effettua una chiamata a snfprintf() in modo tale da forzarne il troncamento dell'output. Tenta quindi di eseguire un vero overread di un buffer di memoria per mostrare come funziona lo sfruttamento di CVE-2023-4966.
A seconda del compilatore e della dimensione dei buffer usati qui, malloc() potrebbe introdurre padding di allineamento alle pagine che potrebbe compromettere la dimostrazione. Le costanti che uso sono scelte in modo che l'output stia su una schermata di terminale. Modificarle può far sì che i risultati cambino e il problema potrebbe non essere affatto dimostrato.
