First of all, let's discuss in brief, what is this
Buffer Overflow?
- It is an anomaly that occurs when the data to a buffer
overflows the buffer’s capacity, resulting in adjacent memory
locations being overwritten.
- We can also say like, too much information is being passed into
a container that does not have enough space.,
Now, when hackers or people with wrong intentions exploit this
thing, it is called Buffer Overflow Attack.
Common timeline of these attacks:
- 1988: Robert Morris's Internet Worm: overflow in fingered
- 2001: Code Red: overflow in ISS
- 2003: Slammer: Overflow in Microsoft SQL server 2000
- 2004: Buffer Overrun in JPEG Processing (GDI+) Could Allow Code
Execution
- 2006: In Adobe Acrobat
- 2007: Vulnerability in Windows Animated Cursor Handling
- 2008: RealNetworks RealPlayer ’rmoc3260.dll’ ActiveX Control
Memory Corruption
- 2009: Operation Aurora: Zero-day vulnerabilities in IE
There are numerous of Buffer Overflow attacks happened in
history on various systems. Few of the very high-profile affected
systems are(Many important details about these systems are not
publically available):
- Many famous VPN products. Exact product: Unknown
- NVIDIA SHIELD TV
- macOS Catalina
- Chat Messanger applications
There are many reasons why the buffer overflow vulnerability
still exists. The most important among them are as follows:
- Still, few languages are not very capable in every aspect. Like
C and C++ still don’t have built-in safeguards against overwriting
or accessing data in their memory. And as we all know Linux,
Windows, macOS all uses C and C++.
- Due to dependency on external applications. It is not always
possible to write everything from scratch and due to this
dependencies, these type of vulnerability may arise as we can't
fully control the implementation of external applications.
Please let me know in the comments if you have any confusion.
Also, please upvote if you like.