Uncategorized

15-Year-Old Linux Netfilter Vulnerability Let Hackers Bypass All Modern Security Mitigations

An Information Security Engineer, Andy Nguyen has recently detected a 15-Year-Old Linux Netfilter vulnerability that allows any attackers to bypass all the modern security measures.

Cybersecurity experts have tracked this 15-Year-Old Linux Netfilter vulnerability as “CVE-2021-22555,” and apart from security mitigations, they have also claimed that by exploiting this flaw threat actors can also achieve kernel code execution.

Netfilter Vulnerability

In order to be concocted by the native functions, the structures need to be transformed from user to kernel as well as 32-bit to 64-bit, when in the compatibility mode the IPT_SO_SET_REPLACE or IP6T_SO_SET_REPLACE is summoned.

Here, Andy affirmed that the security flaw is in the “xt_compat_target_from_user()” where with an offset target->targetsize “memset()” is convoked.

by names like TCPMSS, TTL, or NFQUEUE, a user can choose different targets with different structure sizes; but, here, the user won’t be able to control the targetsize.

Exploitation Chain

With 0x4C bytes primitive the usual targets are:-

The security expert, Andy remarked that he won’t able to allocate any victim objects around struct xt_table_info on kernel 5.4 while he was playing around some victim objects.

But, according to Jann Horn earlier to implement accounting separate slabs were used before 5.9; that’s why in the exploit chain the primitive used by Andy should also use the “GFP_KERNEL_ACCOUNT.”

Here, the expert has claimed that the syscall msgsnd() is already used for multiple public exploits since for heap spraying the syscall msgsnd() is a well-known primitive, and not only that even it also uses the “GFP_KERNEL_ACCOUNT.”

Apart from this, Andy also noted that in parallel to his own research of March 2021, one of the security researchers, Alexander Popov also traversed a similar structure in Four Bytes of Power that exploited the flaw “CVE-2021-26708” in the Linux kernel.

Using the msgget() an attacker can easily initiate many message queues, later an attacker can create a single message of the size of the total message queues and send them using msgsnd() for each of the message queues, that is known as primary message.

Now an attacker can follow the struct msg_msg header and spray a lot of messages with the help of unix sockets. An attacker can easily re-craft the fake struct msg_msg after knowing the address of a primary message.

While by reading more than DATALEN_MSG bytes the primary message content could be leaked, and here, from the primary message the leaked mlist.next pointer exposes the secondary message.

Escalating Privileges

In order to trigger the release that will kick off the JOP chain the final stage of the exploit have to close all the pipes. And in order to execute a kernel ROP chain, quickly achieving a kernel stack pivot is necessary, since, finding JOP gadgets is quite hard.

Kernel ROP chain: In this chain, later to resume the execution process at some scratchpad address in kernel Andy saved the value of RBP. And here to install kernel credentials, he summoned commit_creds(prepare_kernel_cred(NULL)) and later to switch the namespace of process 1 to the one of the init process summoned switch_task_namespaces(find_task_by_vpid(1), init_nsproxy).

Escaping the container and popping a root shell: In this case, to change mnt, pid, and net namespaces to leave the container and crumble out of the kubernetes pod an attacker will have the root permissions.

You can follow us on LinkedinTwitterFacebook for daily Cybersecurity and hacking news updates.

Balaji

BALAJI is an Ex-Security Researcher (Threat Research Labs) at Comodo Cybersecurity. Editor-in-Chief & Co-Founder - Cyber Security News & GBHackers On Security.

Recent Posts

Malicious EditThisCookie Extension Attacking Chrome Users to Steal Data

The popular cookie management extension EditThisCookie has been the target of a malicious impersonation. Originally…

4 minutes ago

WordPress Plugin Vulnerability Exposes 3 Million Websites to Injection Attacks

A critical vulnerability has been identified in the popular UpdraftPlus: WP Backup & Migration Plugin,…

29 minutes ago

iPhone Sharing the Photos by Default to Apple

A recent blog post by developer Jeff Johnson has brought to light a new feature…

1 hour ago

Stealthy Steganography Backdoor Attacks Target Android Apps

BARWM, a novel backdoor attack approach for real-world deep learning (DL) models deployed on mobile…

2 hours ago

The Defender vs. The Attacker Game

The researcher proposes a game-theoretic approach to analyze the interaction between the model defender and…

3 hours ago

Weaponized Python Scripts Deliver New SwaetRAT Malware

The Python script leverages low-level interactions with the Windows operating system, which imports crucial libraries…

3 hours ago