## https://sploitus.com/exploit?id=31F5D7C5-6FFD-5DDE-812D-2F29C06EC459
<img width="1086" alt="cb_thumbnail" src="https://github.com/morganwdavis/overread/assets/4434533/8247adfa-0fbb-43f7-a185-babd4a619ad0">
# overread
**Simulates CVE-2023-4966 Citrix Bleed overread bug**
This is my final project for [Harvard CS50 Cybersecurity 2023](https://cs50.harvard.edu/cybersecurity/2023/). It's about a bug. A small bug ā with huge, ongoing consequences. In this presentation, Iāll be sharing the ābleeding insightsā from one developerās tiny mistake. A mistake that continues to cause big problems for potentially millions of people.
## Video
[Citrix Bleed Video on YouTube](https://youtu.be/7rLOzA3lf6s)
Recorded December 4, 2023
## Notes
This demonstration program in C makes a call to `snfprintf()` in a way that forces it to truncate the output. It then attempts to actually overread a memory buffer to show how the CVE-2023-4966 exploit works.
Depending on your compiler and the size of the buffers used here, `malloc()` might introduce page-alignment padding which could break the demonstration. The constants I use are chosen so the output fits on one terminal display screen. Changing them can cause the results to differ and might not demonstrate the issue at all.
## Output
<img width="1197" alt="Screenshot 2023-12-11 131451" src="https://github.com/morganwdavis/overread/assets/4434533/49c4e780-eb82-41af-8abc-20243026feb1">