A critical Buffer overflow vulnerability discovered in the pppD ( Point to Point Protocol Daemon) Let remote attackers exploit the Linux systems remotely and gain the root-level privileges.
pppD ( Point to Point Protocol Daemon) often used to manage the network connections in Unix based operating systems, also it used to manage broadband connections such as DSL, if (PPPoE) or (PPPoA) is used.
A researcher found this critical vulnerability that resides in the Extensible Authentication Protocol (EAP) packet processing in the Point-to-Point Protocol Daemon (pppd).
An unauthenticated remote attacker may be able to cause a stack buffer overflow by exploiting this vulnerability. It may allow attackers to remotely taking over the code execution of a process and perform arbitrary code execution on the target system.
Ilja Van Sprundel has discovered this vulnerability that can be tracked as CVE-2020-8597 with a 9.3 CVE score. GBHackers found no exploit code at this moment in online for this vulnerability.
Following Linux distribution has been confirmed this vulnerability that running with pppd (Point to Point Protocol Daemon) versions 2.4.2 through 2.4.8.
Also, the following vendors are issued an update about the remote pppD remote code execution vulnerability,
Root Cause of the pppD Vulnerability
The buffer overflow vulnerability affected several Linux distribution due to an error invalidating the size of the input before copying the supplied data into memory.
During the input size validation, if the validation of the data size is incorrect, it leads to Copy the arbitrary data into memory and causes memory corruption that allows attackers to execute arbitrary code remotely.
According to the Vulnerability report “The vulnerability is in the logic of the eap parsing code that causes the eap_input() function to not check if EAP has been negotiated during the Line Control Protocol (LCP) phase.”
“This allows an unauthenticated attacker to send an EAP packet even if ppp refused the authentication negotiation due to lack of support for EAP or due to mismatch of an agreed pre-shared passphrase in the LCP phase. The vulnerable pppd code in eap_input will still process the EAP packet and trigger the stack buffer overflow. “
Since the data is unverified and the size is unknown, the vulnerability corrupt the memory of the target system.
Also, the PPP runs with high privileges and works in conjunction with kernel drivers to let attackers gain root-level privileges. by potentially execute arbitrary code with system.