
Simuliert den Overread-Bug CVE-2023-4966 Citrix Bleed
Simuliert den CVE-2023-4966 Citrix Bleed overread Bug
Dies ist mein Abschlussprojekt für Harvard CS50 Cybersecurity 2023. Es geht um einen Fehler. Einen kleinen Fehler – mit großen, anhaltenden Konsequenzen. In dieser Präsentation werde ich die „bleeding insights“ aus dem winzigen Fehler eines Entwicklers teilen. Ein Fehler, der weiterhin große Probleme für potenziell Millionen von Menschen verursacht.
Citrix Bleed Video auf YouTube
Aufgenommen am 4. Dezember 2023
Dieses Demonstrationsprogramm in C ruft snfprintf() auf eine Weise auf, die das Abschneiden der Ausgabe erzwingt. Anschließend versucht es, tatsächlich einen Speicherpuffer zu überlesen (overread), um zu zeigen, wie der CVE-2023-4966-Exploit funktioniert.
Abhängig von Ihrem Compiler und der Größe der hier verwendeten Puffer kann malloc() eine seitenausgerichtetes Padding (Auffüllung) einführen, das die Demonstration unterbrechen könnte. Die von mir verwendeten Konstanten sind so gewählt, dass die Ausgabe auf einen Terminalbildschirm passt. Eine Änderung kann zu abweichenden Ergebnissen führen und das Problem möglicherweise gar nicht demonstrieren.
