Cyber Security:
Remote code execution
What is Remote Code Execution (RCE)?
Remote code execution (RCE) attacks allow an attacker to remotely execute malicious code on a computer - it may be the execution of malware execution to an attacker gaining full control over a compromised machine.
Examples of RCE
Injection Attacks: Many different types of applications use user-provided data as input to a command.
In an injection attack, the attacker deliberately provides an amended input that causes part of their input to be interpreted as part of the command. This enables an attacker to shape the commands executed on the vulnerable system or to execute arbitrary code on it. See here for more details.
Deserialization Attacks: Serialization combines several pieces of data into a single string. This makes it easier to transmit or communicate. If hackers insert specially formatted user input within the serialized data, it may be interpreted by the deserialization program as executable code.
Out-of-Bounds Write: Fixed-size chunks of memory for storing data are regulary allocated by apps, including user-provided data. If this memory allocation is performed incorrectly, an attacker may be able to design an input that writes outside of the allocated buffer.
Since executable code is also stored in memory, user-provided data written in the right place may be executed by the application.