{"id":3858,"date":"2026-10-29T09:29:36","date_gmt":"2026-10-29T09:29:36","guid":{"rendered":"https:\/\/thedigitalfortress.us\/?p=3858"},"modified":"2026-10-29T09:29:36","modified_gmt":"2026-10-29T09:29:36","slug":"hackers-exploited-cisco-sd-wan-flaw-to-plant-malware-built-to-steal-encryption-keys","status":"publish","type":"post","link":"https:\/\/thedigitalfortress.us\/?p=3858","title":{"rendered":"Hackers Exploited Cisco SD-WAN Flaw to Plant Malware Built to Steal Encryption Keys"},"content":{"rendered":"<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiDuVB5nQJHwAnAATDQxAqD8KtWk7IpNvBqXQq6RPkqJ72joLVDp5dUDDdYmRHlrbUhJQpaQQ59p245XjotvW2DNx_fKk7cPp0wJUsK0z5IQY2jXA1oP-YcYKLtSdBXnZJDNECWOzX9tP3-12cKXJm2A1KKoBsu9CEiOYKbgJDVqvQt7YRF8Fzd706YumA\/s1700-nu-rw-lo-l85-e365\/cisco-sdwan.jpg\" style=\"clear: left; display: block; float: left;  text-align: center;\"><\/a><\/div>\n<p>Hackers exploited a critical Cisco Catalyst SD-WAN flaw, fixed in February, to plant custom malware inside the systems that control an organization&#8217;s SD-WAN network.<\/p>\n<p>The malware, called <strong>KeyDrift<\/strong>, is designed to copy the keys that encrypt traffic between sites and store them for later use, <a href=\"https:\/\/blog.talosintelligence.com\/uat-11473-keydrift\/\" target=\"_blank\">Cisco Talos said<\/a> on October 28. Talos calls the attacks historical but does not specify when they occurred or whether any keys were sent.<\/p>\n<p>The flaw is tracked as <a href=\"https:\/\/sec.cloudapps.cisco.com\/security\/center\/content\/CiscoSecurityAdvisory\/cisco-sa-sdwan-rpa-EHchtZk\" target=\"_blank\">CVE-2026-20127<\/a> and has a CVSS score of 10.0. It allows an unauthenticated remote attacker to bypass authentication and gain administrative privileges on these control systems. On a Controller, the attacker can log in as a high-privileged internal account that is not root.<\/p>\n<p>When Cisco disclosed the flaw in February, Talos tracked its exploitation as UAT-8616, a cluster of activity it said went back to at least 2023.<\/p>\n<p>In <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/routers\/sdwan\/configuration\/security\/ios-xe-17\/security-book-xe\/security-overview.html\" target=\"_blank\">Cisco&#8217;s traditional key exchange<\/a>, each SD-WAN router periodically generates an AES key for its traffic and sends it to the Catalyst SD-WAN Controller (formerly vSmart). The Controller passes the keys on to other routers. A process on the Controller called vdaemon runs the encrypted control connections that carry these keys.<\/p>\n<p>On a compromised Controller, a KeyDrift component called LittleFilch hooks into vdaemon and reads control messages after they are decrypted. For a preset list of edge routers, it pulls out their IP addresses and a 32-byte field. Talos assesses that field as the AES-256 key material that the Controller passes between routers.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-security-guide-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgasUea1PyqjHgZ4PrtmNHQRiRuIWuKqadF1Y1kDkBQlmLoAduaR0D2D5_AgqPzyreZSALvgtryBe5zD3YTk_Q65XX762OpyZGzSzGT8nzn5QlFoiKE6Dqq8rZUJm2Sn_3-epxU4vcpXR-a9JZKHBO4Bq9_nIlpaEEgDZ0oMEEDi4q9NmkHkHuZofDor0TO\/s728-nu-rw-lo-l85-e365\/nudge-2-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>LittleFilch encrypts what it collects with RSA and writes it to a file. It can then send that data over UDP to an address listed in a settings file, which it deletes after reading. Talos could not recover that settings file.<\/p>\n<p>The group behind KeyDrift, which Talos tracks as UAT-11473, has targeted space and satellite services, defense and aerospace technology, and policy research.<\/p>\n<p>The group&#8217;s infrastructure \u00aboverlaps considerably\u00bb with <a href=\"https:\/\/thehackernews.com\/2026\/10\/volt-typhoon-used-covert-silent-train.html\" target=\"_blank\">Silent Train, Talos assesses with high confidence. Silent Train is the name Lumen&#8217;s Black Lotus Labs uses for a network of hacked small-office, home-office, IoT and business devices.<\/p>\n<p>Lumen says Volt Typhoon used the network to hide its activity. CISA, the NSA and the FBI said in 2024 that Volt Typhoon is a Chinese state-sponsored cyber group.<\/p>\n<p>Talos links UAT-11473 to Volt Typhoon only through the infrastructure overlap. It does not say the two are the same group, or how UAT-11473 relates to UAT-8616, the cluster it reported in February.<\/p>\n<p>Separately, <a href=\"https:\/\/www.lumen.com\/blog\/en-us\/silent-train-volt-typhoon-operational-framework\" target=\"_blank\">Lumen said on October 28<\/a> that Volt Typhoon was exploiting CVE-2026-20127 by late 2025 and continued to exploit it after Cisco disclosed the flaw in February. Lumen does not tie that activity to KeyDrift.<\/p>\n<p>KeyDrift primarily starts via modified runit scripts that Cisco SD-WAN devices use to launch their services, according to Talos. In one version, the script for the SSH service starts a loader script, conf_sshd, before the real SSH server. The conf_sshd script writes vdaemon&#8217;s process IDs to a file, and a tool called rsshd injects KeyDrift&#8217;s main module, PolyFlame, into each of those processes.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEir1JZ8k5oebftvv1f-xWmrBR90TuqX_Aze3Ve0Go5Gl3BqSl2MxYbTtdD09f757K36FeiQulBpzp-xKH2mGTuuDnEX8iao-NeHfdAoA1elYTIokmeMM5fprQbvTPqM4d98hAHbA9igDt5xeKirwMi_jNc5YuwPMoUQtb2KRxrwT-EHuc_2wUpkQT_EaCA\/s1700-nu-rw-lo-l85-e365\/bin-conf.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEir1JZ8k5oebftvv1f-xWmrBR90TuqX_Aze3Ve0Go5Gl3BqSl2MxYbTtdD09f757K36FeiQulBpzp-xKH2mGTuuDnEX8iao-NeHfdAoA1elYTIokmeMM5fprQbvTPqM4d98hAHbA9igDt5xeKirwMi_jNc5YuwPMoUQtb2KRxrwT-EHuc_2wUpkQT_EaCA\/s1700-nu-rw-lo-l85-e365\/bin-conf.jpg\" alt=\"\" border=\"0\" data-original-height=\"747\" data-original-width=\"937\"\/><\/a><\/div>\n<p>PolyFlame runs in memory inside vdaemon. It can act as a TinyShell-like backdoor that runs commands and reads and writes files, or as a relay that forwards commands between its command server and other machines. It is built to accept commands within SD-WAN control traffic, and the analyzed samples contained no hardcoded server address.<\/p>\n<p>On a compromised Validator, formerly vBond, a fake aaamgr service under \/etc\/sv\/aaamgr\/ runs a packed loader, aaamgrd, that decrypts and runs PolyFlame. Cisco&#8217;s real aaamgr component is a Python package and does not normally run as a compiled service.<\/p>\n<p>There are also signs of timestomping: commands the group ran copied the timestamps and permissions of existing files onto its own files.<\/p>\n<h3>Affected Releases and Fixes<\/h3>\n<p>CVE-2026-20127 affects the Catalyst SD-WAN Controller (formerly vSmart), Manager (formerly vManage), and Validator (formerly vBond), regardless of their configuration. On-premises systems are affected, as are Cisco&#8217;s hosted SD-WAN cloud deployments, including the Cisco Managed and FedRAMP environments. Cisco added the Validator to its advisory on June 16.<\/p>\n<p>Cisco says it is aware of limited exploitation of the flaw. There is no workaround, and the first fixed releases are:<\/p>\n<table style=\"border-collapse: collapse; border: 1px solid rgb(204, 204, 204); width: 100%;\">\n<tbody>\n<tr>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Release train<\/th>\n<th scope=\"col\" style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">First fixed release<\/th>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Earlier than 20.9<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">Migrate to a fixed release<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.9<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.9.8.2<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.11<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.12.6.1<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.12<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.12.5.3 or 20.12.6.1<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.13<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.15.4.2<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.14<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.15.4.2<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.15<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.15.4.2<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.16<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.18.2.1<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.18<\/td>\n<td style=\"border: 1px solid rgb(204, 204, 204); padding: 8px;\">20.18.2.1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Releases earlier than 20.9 and the 20.11, 20.13, 20.14 and 20.16 trains have reached end of software maintenance.<\/p>\n<p>Until they can upgrade, on-premises customers can limit access to ports 22 and 830 to the IP addresses of known controllers and other known systems. Cisco says this step worked in a test environment, but that customers should check how well it works in their own networks. Such guardrails are already in place for Cisco&#8217;s hosted SD-WAN cloud deployments.<\/p>\n<p>Blocking the ports does not remove malware already on a device.<\/p>\n<h3>Checking for KeyDrift<\/h3>\n<p>Talos advises organizations to install Cisco&#8217;s fixes, follow Cisco&#8217;s <a href=\"https:\/\/sec.cloudapps.cisco.com\/security\/center\/resources\/Cisco-Catalyst-SD-WAN-HardeningGuide\">Catalyst SD-WAN hardening guide<\/a> and watch for signs of post-compromise activity. Anyone who finds such signs should start incident response and can ask Cisco&#8217;s Technical Assistance Center (TAC) for help.<\/p>\n<p>That advice does not say whether upgrading removes KeyDrift from a device that was already compromised, or whether any keys should be replaced. Cisco&#8217;s February <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/support\/docs\/routers\/sd-wan\/225525-internal-remediate-catalyst-sd-wan.pdf\">remediation guide<\/a> for this flaw warns that there could be \u00abexisting exploits which are still in place\u00bb from before an upgrade.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/network-defense-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjVV2rRkX8tRMF6gCzemvQNpwFwGxRWxY1cJEYfoLLSj1EZYJOlj5WTR77t0i6kELXujYcaHTpRDqTjCbVHH5Pnh7wzxUiKP5j4dsDkWIMlp2bmpZsL0jeAsA_19pHH5UPtyBvNkZdyGEULOAsXPcraMP5CYjQRFefhXRSdEjYkrdcpUnc4ILcvcdEfAauE\/s728-nu-rw-lo-l85-e365\/tl-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>KeyDrift uses these files and locations, some given only by name:<\/p>\n<ul>\n<li><strong>File<\/strong>: the <code>run<\/code> script under <code>etc\/sv\/sshd\/<\/code>, modified to start conf_sshd<\/li>\n<li><strong>Directory<\/strong>: <code>\/etc\/sv\/aaamgr\/<\/code>, a fake service on a compromised Validator<\/li>\n<li><strong>File<\/strong>: <code>aaamgrd<\/code>, the packed loader<\/li>\n<li><strong>File<\/strong>: <code>conf_sshd<\/code>, the loader script<\/li>\n<li><strong>File<\/strong>: <code>rsshd<\/code>, the injector<\/li>\n<li><strong>File<\/strong>: <code>libdssl.so<\/code>, PolyFlame<\/li>\n<li><strong>File<\/strong>: <code>libcommon.so<\/code>, LittleFilch<\/li>\n<li><strong>File<\/strong>: <code>\/tmp\/system-vdaemon<\/code>, the list of vdaemon process IDs<\/li>\n<li><strong>File<\/strong>: <code>\/var\/tmp\/vdaemon.bin<\/code>, LittleFilch&#8217;s encrypted records<\/li>\n<li><strong>File<\/strong>: <code>\/var\/tmp\/vdaemon.conf<\/code>, LittleFilch&#8217;s send settings, deleted after reading<\/li>\n<\/ul>\n<p>Talos&#8217;s report does not include a list of file hashes, IP addresses or domains for KeyDrift.<\/p>\n<p>Talos released <a href=\"https:\/\/snort.org\/advisories\/talos-rules-2026-10-28\">Snort rules<\/a> on October 28 that look for inbound KeyDrift command-and-control connections: 67387 through 67416 for Snort 2, and 7:44 through 7:73 for Snort 3. Rules 65938 and 65958, already available, cover CVE-2026-20127 itself.<\/p>\n<p>The October 28 rule update lists the Snort 2 rules as disabled by default, so users of the paid Snort Subscriber rule set must turn them on. The Snort 3 rules appear with no default state.<\/p>\n<p>To check for exploitation of the flaw itself, Cisco says to look in <code>\/var\/log\/auth.log<\/code> for <code>Accepted publickey for vmanage-admin<\/code> entries from unknown IP addresses. Before opening a TAC case, customers should run <code>request admin-tech<\/code> on each control component. The remediation guide also recommends rescanning those admin-tech files with the Check Bug Applicability feature on the Bug Search Tool page for bug CSCws52722.<\/p>\n<p>For US federal civilian agencies, CISA&#8217;s February 25 <a href=\"https:\/\/www.cisa.gov\/news-events\/directives\/ed-26-03-mitigate-vulnerabilities-cisco-sd-wan-systems\">emergency directive<\/a> sets out what to do if a root account compromise is found. They must report it to CISA, deploy fresh Manager, Controller and Validator instances from patched images, and move their edge routers to the new systems.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hackers exploited a critical Cisco Catalyst SD-WAN flaw, fixed in February, to plant custom malware inside the systems that control an organization&#8217;s SD-WAN network. The malware, called KeyDrift, is designed&hellip;<\/p>\n","protected":false},"author":1,"featured_media":3859,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[2307,124,3954,128,70,338,144,42,2051,125,571],"class_list":["post-3858","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-built","tag-cisco","tag-encryption","tag-exploited","tag-flaw","tag-hackers","tag-keys","tag-malware","tag-plant","tag-sdwan","tag-steal"],"_links":{"self":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/3858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3858"}],"version-history":[{"count":0,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/3858\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/media\/3859"}],"wp:attachment":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}