Code injection is a term that describes attacks that inject code into an application. This injected code is then interpreted by the application, changing the way the program runs. Code injection attacks usually exploit an application vulnerability that allows invalid data to be processed. This attack takes advantage of poor handling of unreliable data. These attacks are generally made possible by a lack of proper input/output validation. Attackers can inject (or embed) code into a computer program with this type of vulnerability.