CVE Technical Deep-Dives

CVE-2026-20131: Cisco FMC RCE Vulnerability Exploited by Interlock

By Pranav Khune

24 min read

CVE-2026-20131: Cisco FMC RCE Vulnerability Exploited by Interlock

The March 2026 Cisco Secure Firewall bundled publication (ERP-75736) included two maximum-severity vulnerabilities affecting the Secure Firewall Management Center. Both of these vulnerabilities were disclosed on the same day. 

Both carry a CVSS score of 10.0 and describe unauthenticated, remote vulnerabilities with low attack complexity. Both can ultimately give attackers root access to the appliance that manages every firewall in an organization.

The first vulnerability, CVE-2026-20079, involves the boot-time csm_processes session that anyone can identify and log into. It was covered first in this publication because it came with a clear exploitation mechanism: a session table, five hardcoded credential pairs, a write-then-validate license handler, a sudo-prefixed updater, and eventually three Talos actor clusters to document.

CVE-2026-20131 is its sibling, but with far less publicly available technical detail. The advisory describes an “insecure deserialization of a user-supplied Java byte stream” in the web-based management interface (CSCwt14636).

An attacker can send a crafted serialized Java object to execute arbitrary Java code and escalate privileges to root. The public advisory provides no endpoint details, gadget chain, or patch comparison. On paper, it represents the more dangerous vulnerability class, and it was also the one exploited first.

This was not merely an attempted exploitation in March. AWS threat intelligence’s MadPot sensor network documented the Interlock ransomware group exploiting the flaw as a zero-day from January 26, 2026, 3sak110/CVE-2026-201316  days before Cisco’s disclosure.

The attacks targeted organizations in education, healthcare, manufacturing, and government. Zscaler ThreatLabz observed exploit traffic carrying the public GitHub proof of concept just two days after disclosure.

On March 19, CISA added the vulnerability to its Known Exploited Vulnerabilities catalog, marked the ransomware field as “Known,” and set a three-day federal remediation deadline.

This article completes the FMC trilogy: 20316’s static credentials, 20079’s session bypass, and 20131’s deserialization.

CVE-2026-20131 attack chain
CVE-2026-20131 attack chain: crafted Java object sent to the FMC web interface, deserialization, gadget execution, and root access, followed by the Interlock zero-day timeline. 

Set Up the Lab

The lab uses the same appliance as the CVE-2026-20079 setup. The deserialization vulnerability resides in the same web tier and uses the same 443 management interface.

The existing CVE-2026-20079 lab guide therefore applies here as well. It covers the FMCv qcow2/OVF image from Cisco Software Central, the minimum requirements of 28 GB RAM, 4 vCPUs, and 250 GB disk space, along with a virtio NIC connected to an isolated network segment.

ImageFMCv qcow2 (KVM) or OVF (ESXi), from Cisco Software Central
Version (vulnerable)7.7.11 (affected through 7.7.11) or 10.0.0
Version (fixed control)Fixed software released with the advisory on 2026-03-04: pick your branch’s first fixed release with the Cisco Software Checker. Branch hotfix bundles were refreshed 2026-07-29 alongside the IOC update (GB-7.0.9.1-3, HL-7.2.11.1-4, HG-7.4.7.1-3, CY-7.6.5.1-2, AM-7.7.12.1-2, P-10.0.1.1-2); the 6.4, 7.1, and 7.3 trains have no listed bundle ID, so the Software Checker is the only per-branch answer
NICvirtio (KVM) / e1000 (ESXi), isolated lab segment
PortsTCP 443 only

Unlike the CVE-2026-20079 lab, CVE-2026-20131 has no documented precondition. The earlier exploit chain required a boot-created session row and a reboot before exploitation. 

CVE-2026-20131, on the other hand, can be triggered by sending a crafted request to the vulnerable interface.

The sak110/CVE-2026-20131 repository provides two scripts for testing the vulnerability. Its check.py script performs a basic fingerprinting check. 

It sends HTTP requests containing the Java serialization magic bytes AC ED 00 05 to the FMC web interface and examines the responses.

If the endpoint returns a 500 error or an unexpected 200 response to this probe, it may be processing serialized data that it should have rejected. 

The script then reports the result as POTENTIALLY VULNERABLE without attempting to execute a gadget chain.

Lab panel
Lab panel: FMCv appliance and the check.py-style magic-bytes probe (reconstructed:see the note above)

We did not execute the exploit in our lab. The following section describes the approach used by the public PoC and the behaviour AWS observed in actual attacks, with both clearly identified.

We cannot provide a verified end-to-end exploit chain because the vulnerable deserialization sink has not been publicly identified. Reproducing an exploit against a sink whose implementation cannot be examined requires further research, not just documentation.

Verifying the patch

Install the fixed release for your branch and rerun the check.py-style probe. On a fixed build, the serialization endpoints should no longer process the magic bytes. 

The probe reports No obvious exposure detected. This is the behaviour documented by the repository, not a result observed in our lab.

There is no public patch diff to examine (see Patch Diffing). Verification therefore relies on two things: the probe result and confirmation that the installed build is fixed according to the Cisco Software Checker.

Proof of Concept

The public PoC (poc.py in the sak110 repository), which is licensed for lab and CTF use and builds on Sushilsin’s earlier detection research, follows a ysoserial-driven approach. 

It constructs a serialized Java object carrying a gadget chain and sends the resulting byte stream to the FMC web management interface through an HTTP POST request.

Zscaler ThreatLabz telemetry independently confirms the nature of the payloads used in actual attacks. 

According to its March 23, 2026 analysis, exploit payloads observed since March 6, 2026, contained the publicly available GitHub PoC. Zscaler’s standing protection for this activity is explicitly named “Java Deserialization using YSoSerial tool detection.

Reconstructed from the PoC repo and AWS’s observed campaign traffic — not executed in our lab:

=== CVE-2026-20131- Cisco FMC Java deserialization- root ===
[*] Fingerprinting management interface on 443
[+] POST body: Java serialization magic bytes AC ED 00 05 — endpoint processed the stream
[*] Building ysoserial payload for the FMC classpath
[*] POST /<management path> — Content-Type: application/octet-stream
[+] Payload accepted — gadget chain dispatched during readObject()
[*] Target issued HTTP PUT to external server — exploitation confirmation beacon
[+] Fetching stage-2 ELF from attacker infrastructure
------------------------------------------------------------
id
uid=0(root) gid=0(root) groups=0(root)
------------------------------------------------------------

Three lines of that transcript carry the story:

magic bytes … processedThe interface accepts a serialized Java byte stream from an unauthenticated client, the precondition everything else needs. 
gadget chain dispatched during readObject()Java deserialization executes attacker logic inside readObject(), before any application-level validation can run. No auth, no user, no CSRF token. The CVE’s PR:N/UI:N vector is real. 
HTTP PUT … confirmation beaconThe behavior AWS attributed to Interlock in the field: after the exploit lands, the compromised appliance phones a confirmation back to the attacker’s server, and only then fetches the ELF payload. 

The specific gadget chain used in the exploit has not been publicly disclosed. No published research identifies which ysoserial chain was used or which FMC classpath component it targets. Cisco, the PoC repository’s README, and security vendors covering the campaign have not provided these details.

The available information still offers some clues. The FMC appliance runs a full Java stack in its web tier, while Zscaler’s signature for the observed exploitation falls under the generic ysoserial detection category. 

This suggests that the payloads resemble standard, publicly available ysoserial gadget chains rather than a custom exploit developed specifically for the FMC deserialization sink. However, the exact chain and the vulnerable classpath component remain unconfirmed.

exploit flow cve-2026-20131
Exploit flow: POST with serialized stream → readObject() gadget → PUT beacon → ELF fetch → root

Static Analysis and Root Cause

Cisco’s advisory (Bug ID CSCwt14636) is brief, but it clearly identifies the key elements of the vulnerability. The web-based management interface deserializes a user-supplied Java byte stream, allowing an unauthenticated attacker to execute arbitrary Java code and then escalate privileges to root.

Three of the four CVSS 10.0 scoring factors, network attack vector, no privileges required, and no user interaction, directly reflect these conditions. The fourth, changed scope, accounts for the impact beyond the vulnerable component itself.

Why Java Deserialization Is the Pattern’s Premium Class

A serialized Java object is more than just data. It contains instructions for reconstructing objects. When a server calls ObjectInputStream.readObject() on attacker-controlled bytes, the JVM reconstructs the object graph before the application can inspect the result. During this process, the JVM may invoke:

  • readObject() and readResolve() methods: These methods belong to classes in the serialized object graph, which an attacker may be able to influence.
  • Object initialization logic: Deserialization can trigger initialization routines and other side effects that the application never intended to execute.
  • Proxy invocation handlers and comparator callbacks: Many gadget chains exploit these mechanisms to trigger unintended method calls and eventually execute arbitrary code.

Type-casting the result, as in ((ExpectedType) ois.readObject()), does not prevent this attack. The cast happens only after the object graph has been reconstructed. By the time the application discovers that the object is not an ExpectedType, the deserialization callbacks may have already executed.

This is not just a theoretical risk. Tenable documented the same pattern in Cisco Security Manager’s SecretServiceServlet (TRA-2017-23). The application called readObject() and then attempted to cast the result to DataBlob. Although the cast failed, the gadget chain had already executed malicious code during deserialization.

The Gadget Chain Problem

A gadget chain is a sequence of existing Java classes on the application’s classpath that, when deserialized together, trigger an unintended action. This could include executing Runtime.exec() or loading attacker-controlled bytecode.

The attacker does not need to upload new code or introduce additional classes. Instead, they combine existing classes into a sequence of method calls that the application was never designed to execute.

The major gadget chain families include:

CommonsCollections1–7InvokerTransformer, ChainedTransformer| LazyMap.get(), transformer chain, Runtime.exec() | Apache Commons Collections 3.x (3.0–3.2.1) or 4.0
CommonsBeanutils1BeanComparatorPropertyUtils.getProperty() triggers TemplatesImpl.getOutputProperties(), leading to classloading and execution of attacker-controlled bytecode. Commons BeanUtils + Commons Collections
Jdk7u21TemplatesImplAnnotationInvocationHandler triggers Templates.newTransformer(), leading to the loading of attacker-controlled bytecode. JDK itself (no third-party jar)
URLDNSURL, HashMapHashMap.readObject() triggers URL.hashCode(), causing a DNS lookup. This chain is typically used for detection rather than code execution.JDK only

Zscaler’s detection for the observed exploitation is named “Java Deserialization using YSoSerial tool detection.” This suggests that the payloads observed in the wild match the format generated by the publicly available ysoserial tool rather than a custom-built exploit.

This points to common gadget families such as Commons Collections and Commons BeanUtils. Cisco has a history of using these libraries. For example, CVE-2015-6420 disclosed that Commons Collections 3.2 was present on the classpath of multiple Cisco management products within the same product family.

The FMC Web Tier Architecture

  • FMC’s management interface runs on TCP 443 as a Java-backed web application behind Apache HTTPD. It uses the same httpsd_conf.tt template that VulnCheck examined while analysing CVE-2026-20079. The web tier handles the management UI, REST API, and internal service endpoints. Several architectural details are relevant to understanding the deserialization attack surface.
  • The process runs as root. FMC’s web services execute with root privileges. This is not a case of escalating from a low-privileged web user to root through a second vulnerability. The process already runs as root. The advisory’s reference to privilege escalation describes the attacker’s path from unauthenticated access to root-level control.
  • The Java classpath is broad. FMC includes a full Java stack in its web tier, along with third-party libraries for object marshaling, database access, and internal RPC. A broader classpath increases the number of potentially usable gadget chains. A Commons Collections chain, for example, may require just one JAR, while a Commons BeanUtils chain typically requires two.
  • Authentication is handled at the HTTPD layer. The advisory identifies the vulnerability as unauthenticated, suggesting that the deserialization sink is accessible through a path that HTTPD proxies before authentication is enforced. This could be a pre-authentication endpoint or a path that bypasses the authentication directive. The CVE-2026-20079 patch diff showed a similar configuration pattern, with httpsd_conf.tt controlling which paths required authentication.
  • – If the deserialization sink sits behind a pre-authentication path, an attacker does not need valid FMC credentials to reach it. That makes the management interface the starting point of the attack.

The Reconstruction: Probable Attack Path

Taken together, the advisory, public PoC behaviour, and Cisco’s architectural history suggest the following probable attack flow:

Attacker                                          FMC (TCP 443)
   │                                                   │
   │─── HTTP POST /<pre-auth servlet path> ──────────→ │
   │    Content-Type: application/octet-stream          │
   │    Body: AC ED 00 05 [serialized object graph]     │
   │                                                   │
   │                    ┌─── HTTPD proxies to Java ────┘
   │                    │    (no auth check on this path)
   │                    │
   │                    ├─── Servlet reads InputStream
   │                    │    wraps in ObjectInputStream
   │                    │    calls readObject()
   │                    │
   │                    ├─── JVM reconstructs object graph
   │                    │    InvokerTransformer chain fires
   │                    │    → Runtime.exec() as root
   │                    │
   │                    ├─── Optional: cast to expected type
   │                    │    ClassCastException (too late)
   │                    │
   │←── HTTP PUT /confirm (beacon) ─────────────────── │
   │                                                   │
   │─── HTTP GET /payload.elf ←──────────────────────  │
   │    (attacker serves stage-2)                      │

This reconstruction is based on available evidence. The endpoint, servlet class, and exact gadget chain have not been publicly disclosed.

However, the pattern resembles previously documented deserialization vulnerabilities in related Cisco products, including Security Manager’s SecretServiceServlet and Prime LMS’s RMI endpoint. Zscaler’s ysoserial-based detection signatures also support the assessment of the payload format.

What the Public Record Is Missing

The public record lacks three details that most Java deserialization vulnerability analyses normally establish: the endpoint that receives the serialized data, the deserialization framework involved (native ObjectInputStream or a third-party library), and the gadget chain responsible for achieving root access.

None of these details has been disclosed. Cisco’s advisory does not identify the endpoint or framework. The PoC README does not document the exact gadget chain, while security vendors have focused primarily on reporting exploitation activity.

For defenders, this is more than a documentation gap. It explains why most IOC lists for this CVE contain generic indicators, such as suspicious HTTP requests carrying serialized Java payloads. Without knowing the vulnerable endpoint and deserialization mechanism, writing a precise, sink-specific detection rule becomes difficult. Cisco’s own Snort signatures remain the primary source of detection coverage specific to this vulnerability.

Based on the recommendation to install software updates, the absence of workarounds, and the known architectural pattern, three possible remediation approaches emerge, listed from least to most invasive:

1. Deserialization filter (ObjectInputFilter, JEP 290): Introduce a type allowlist at the ObjectInputStream boundary to reject classes outside the application’s expected set. This feature has been available since JDK 9 and was backported to Java 8u121 and 7u131, assuming the appliance’s bundled JDK supports it. This would be a targeted fix without requiring architectural changes.

2. Serialization framework swap: Replace native Java serialization with a format such as JSON, Protocol Buffers, or XML that does not execute code during parsing. However, this requires changes to the communication format and could break backward compatibility with older managed devices.

3. Endpoint removal or authentication gating: Place the vulnerable servlet behind the HTTPD authentication module or remove the endpoint entirely if it serves an internal function that external clients should never access. This would be a relatively straightforward fix if the endpoint does not need to be publicly accessible.

Cisco explicitly declined to offer a workaround. This is consistent with either the first or third approach. A deserialization filter or authentication change would need to be delivered through a software update rather than a configuration setting that administrators can enable themselves.

These are possible remediation approaches based on the available architectural information, not confirmed details of Cisco’s actual patch.

Scope

One scope detail the advisory clarifies: the vulnerability also affects Cisco Security Cloud Control (SCC) Firewall Management, the SaaS-delivered variant. Cisco addressed it as part of routine maintenance, so customers do not need to take any action. 

ASA and FTD software are confirmed not affected, and Cisco’s cloud-delivered FMC is not listed as vulnerable. The flaw resides in the management plane, not the firewall itself.  

Interlock’s Thirty-Seven Days

The exploitation timeline for this CVE is the reason it deserves its own article instead of a paragraph in the 20079 one.

2026-01-26Interlock begins exploiting the flaw as a zero-day, according to AWS threat intelligence, gaining 36 days of root access before a patch becomes available. 
2026-03-04Cisco publishes cisco-sa-fmc-rce-NKhnULJh in the ERP-75736 bundle, with patches
2026-03-06Zscaler ThreatLabz observes exploitation using the public GitHub PoC:US technology and software sectors
2026-03-08CyCognito publishes the dual-CVE (20079 + 20131) analysis
2026-03-18AWS publishes the Interlock campaign report; Cisco advisory v1.1 confirms attempted exploitation
2026-03-19CISA adds the CVE to KEV — ransomware: Known — with a 2026-03-22 federal deadline
2026-03-22BOD deadline for US federal agencies
2026-03-25Advisory v1.2: SCC Firewall Management hot fix note
2026-07-29Advisory updated with new IOCs shared with CVE-2026-20316; branch hotfix bundle refresh
Week of 2026-09-14Cisco’s comprehensive hardening release ships (per Cisco’s September communications)
Timeline
Timeline: 36-day zero-day window, KEV sprint, July IOC update, September hardening release

The Interlock campaign came to light because of an operational security failure. The group’s misconfigured infrastructure server exposed its toolkit, while AWS’s MadPot sensors, which are designed to attract and capture attacks, recorded the exploitation chain. AWS documented a sequence typical of ransomware initial access, carried out through a firewall management appliance:

  • Crafted HTTP requests to a path in the FMC web interface execute the Java payload. The compromised appliance then sends an HTTP PUT request to an external server to confirm that the exploit worked before proceeding.
  • A PowerShell reconnaissance script inventories the Windows environment, including OS and hardware details, services, installed software, storage, Hyper-V resources, user files across Desktop/Documents/Downloads, browser artifacts from five browsers, network connections, and RDP authentication events.
  • Custom RATs written in JavaScript and Java provide command-and-control (C2), interactive shells, arbitrary command execution, bidirectional file transfers, and SOCKS5 proxying. They also include self-update and self-delete mechanisms, allowing attackers to remove artifacts when defenders start hunting for them.
  • A Bash infrastructure script turns Linux servers into HTTP reverse proxies using a compiled HAProxy instance listening on port 80 and forwarding traffic to a hardcoded IP. It also installs fail2ban to block other unauthorised access attempts and runs a cron job every five minutes to erase *.log files and unset HISTFILE.
  • A memory-resident web shell monitors incoming requests for parameters containing encrypted command payloads, then decrypts and executes them. Since it operates in memory, defenders may find no corresponding file on disk.
  • ConnectWise ScreenConnect provides fallback remote access. Volatility extracts information from memory dumps, including credentials, while Certify exploits Active Directory Certificate Services (AD CS) misconfigurations to obtain domain certificates.
  • Attribution evidence includes the embedded ransom note, the TOR-based negotiation portal, and activity patterns aligned with UTC+3 working hours.

The affected sectors include education, healthcare, manufacturing, and government. The attackers had a 36-day head start, operating with root privileges on an appliance that controls which firewall policies an entire network environment can enforce.

The activity also differs from the three Talos clusters documented in September. UAT-12197, UAT-11823 (with Sandworm tooling overlap and Cyclops Blink), and UAT-11988 (linked to Qilin affiliates) exploited the CVE-2026-20079 and CVE-2026-20316 attack paths.

Interlock exploited CVE-2026-20131 earlier, with ransomware deployment as its primary objective. One appliance, four threat actor groups, two distinct exploitation narratives, all within the same calendar year.

Patch Diffing

There is no publicly available patch diff for CVE-2026-20131. That absence is worth examining because the patch diff was central to understanding its sibling vulnerability. 

VulnCheck’s roughly 25-line comparison across two files (httpsd_conf.tt and SF/Auth.pm) provides the entire publicly available root-cause record for CVE-2026-20079.

For CVE-2026-20131, the situation is different. Cisco’s advisory identifies no file, function, or class. No vendor or researcher has published a deserialization sink analysis. 

The PoC repository describes its payload as ysoserial-generic, and the advisory’s July 29 revision added IOCs shared with CVE-2026-20316 rather than providing further technical details.

patch diff cve-2026-20131
Patch diff: no public sink analysis — the advisory’s one-paragraph fix guidance against the unknown sink

Several explanations could account for the absence of a public patch diff, and they are not mutually exclusive. First, the vulnerability may have been discovered internally by Cisco’s ASIG team, as indicated in the advisory’s Source section. This would explain why no external researcher had access to the vulnerable deserialization sink for comparison.

Second, the fix may involve a broader structural change, such as replacing the deserialization mechanism or introducing a class allowlist at the deserialization boundary, rather than modifying a couple of configuration files.

Third, given that ransomware operators have actively exploited the vulnerability, Cisco has strong reasons to withhold technical details that could help other attackers reproduce the exploit.

Whatever the explanation, the practical consequence remains the same: you cannot diff your way to confidence on this vulnerability. Use the Software Checker to verify the installed version, confirm that the build has been updated, and rerun a magic-bytes probe. These are the available verification steps.

Impact

The risk extends beyond compromising a single appliance. As with CVE-2026-20079, gaining root access to FMC potentially gives an attacker access to the policy sets, configuration inventory, and user credential store of every managed firewall.

Talos’s investigations of related campaigns demonstrated how attackers could exploit this position to dump credentials using OmniQuery.pl against the mdb database, exfiltrate configurations, and pivot into Active Directory environments before deploying ransomware.

Interlock’s campaign adds a ransomware-specific dimension. FMC becomes a pre-positioning platform, allowing attackers to prepare for wider network compromise before deploying ransomware. The observed activities include:

  • Windows-wide reconnaissance: Enumerating filesystems, browser artifacts, and RDP logs from the compromised appliance.
  • Credential theft: Extracting credentials from memory dumps and accessing credential stores through the RATs.
  • Active Directory compromise: Abusing AD CS misconfigurations through Certify to obtain domain certificates.
  • Evidence destruction: Running a cron job every five minutes to erase logs and clear shell history.
  • Lateral movement preparation: Using SOCKS5 proxying, HAProxy reverse proxies, and ScreenConnect persistence to establish access across the network.

The exposure numbers are relatively small and concentrated. The Censys estimate of approximately 300 internet-exposed FMC instances and FOFA’s estimate of 600 to 700, cited in the CVE-2026-20079 analysis, apply to this vulnerability as well because both flaws affect the same management interface.

EPSS assigns the vulnerability a score of 0.432, placing it at the 98.7th percentile as of October 15, 2026. CISA’s KEV ransomware field is marked “Known.”

The SaaS distinction is also worth considering. Cisco Security Cloud Control (SCC) Firewall Management was vulnerable, confirming that the exposure was not limited to on-premises deployments. However, Cisco addressed the SaaS vulnerability through routine maintenance.

If you use Cisco’s cloud-delivered FMC, your immediate priority is reviewing logs and checking for signs of exploitation, not applying an on-premises patch.

Remediation

  1. Patch using Cisco Software Checker. No workarounds are available. The affected-version table covers a broad range of releases, including every 6.4 and 7.x branch through 7.7.11, as well as 10.0.0. Use the Software Checker to identify the first fixed release for your specific branch rather than relying on a published version table, including this one.
  2. Treat management interface exposure as a parallel security concern. Cisco’s mitigation guidance is the same as for CVE-2026-20079: keeping the FMC management interface off the public internet reduces the attack surface. Following a KEV listing with a ransomware flag, an exposed management interface should be treated as a potential incident, not merely a vulnerability finding.
  3. Hunt for compromise if the appliance ran vulnerable code after January 26. Do this even if you installed the patch in March. The zero-day exploitation window means a patched appliance may still be compromised. Look for the Interlock artifacts listed below, review ScreenConnect deployments for unauthorised installations, and investigate unexplained firewall policy changes. Cisco’s standing guidance also applies: hot fixes prevent future exploitation but may not remove an existing compromise. Engage Cisco TAC if you suspect an intrusion.
  4. Rotate credentials accessible to the appliance. This includes FMC credentials, managed-device secrets, and Active Directory Certificate Services (AD CS) enrollment credentials or access paths that attackers could have exploited using tools such as Certify. Rotate them after any suspected compromise, not as a substitute for patching.
  5. SaaS tenants should review logs, not apply patches. Cisco has already fixed SCC Firewall Management. Review administrative activity and configuration logs covering the January to March exploitation window to identify suspicious access or unauthorised changes.

Detection

  • Network: The sink probe. Inspect HTTP POST bodies sent to the FMC web interface for Java serialization magic bytes AC ED 00 05 at the beginning of the payload. Legitimate management traffic should not carry raw serialized Java objects, making this prefix a high-fidelity detection trigger. Deploy Cisco’s advisory signatures, Snort SIDs 66082 and 66083, or an equivalent body-inspection rule.
  • – Network: ysoserial fingerprints. Payloads observed in the wild match chains generated by the public ysoserial tool. Zscaler’s detection coverage includes signatures named “Java serialization Remote Command Execution” and “Java Deserialization using YSoSerial tool detection.” Look for common markers in the serialized object graph, including InvokerTransformer, CommonsCollections classes, BeanComparator (Commons BeanUtils), and Xalan TemplatesImpl. These can support body-content detection even without knowledge of the FMC-specific gadget chain.
  • – Network: The confirmation beacon. Monitor for HTTP PUT requests from the FMC appliance to external hosts shortly after a POST containing Java serialization magic bytes. AWS observed Interlock using this method to confirm successful exploitation before downloading its ELF payload. Outbound PUT requests from a management appliance are unusual and warrant investigation.
  • – Host: Interlock’s toolkit. Look for HAProxy binaries and reverse-proxy configurations on the appliance, fail2ban installations on FMC, and cron jobs running every five minutes to delete *.log files or unset HISTFILE. Also investigate ScreenConnect installations on Linux appliances, unexpected Java process children executing PowerShell or parsing memory dumps, and JavaScript or Java RAT artifacts with self-deletion capabilities.
  • – Log integrity. Interlock aggressively erased logs from the compromised appliance. If local FMC logs contain five-minute gaps, correlate the timeline with external sources such as management VLAN NetFlow and logs from firewall-adjacent infrastructure before concluding that no suspicious activity occurred.
  • – Scope note. Cisco has not published a CVE-2026-20131-specific IOC list. The July 29 IOC update was shared with CVE-2026-20316. The Talos cluster IOCs discussed in the CVE-2026-20079 analysis belong to a different exploitation narrative. Do not treat them as evidence of CVE-2026-20131 exploitation.

Conclusion

The FMC trilogy closes with the quietest and oldest of the three bugs. CVE-2026-20316 was a credential problem: someone shipped static credentials that administrators could not change. CVE-2026-20079 was a session problem: a machine row with a name you could type. CVE-2026-20131 is a trust problem: a web interface that handed client bytes to a Java deserializer. Based on the history of this vulnerability class, such flaws can reach CVSS 10.0 when the available classpath supports a working gadget chain. Three different doors, all opening onto root, all within the same twelve months, and all on the appliance that manages the firewalls.

The CVE-2026-20131 incident adds two lessons that the other vulnerabilities could not.

First, consider the zero-day window. Interlock had 36 days of root access to enterprise firewall management systems before a patch became available. No patching programme, however disciplined, can protect against exploitation during that window. The AWS CISO’s central argument is relevant here: defence-in-depth exists precisely to cover the gap between exploit discovery and patch availability.

Second, consider the disclosure gap. The most severe vulnerability in the trilogy was disclosed without identifying its endpoint, gadget chain, or patch diff. The public record, including PoC repositories, vendor telemetry, and this analysis, has relied on reconstructing an attack path around an unnamed deserialization sink. Defenders built detection rules around Java serialization magic bytes and tool fingerprints because those were the only reliable indicators available. The approach worked, demonstrating the value of generic deserialization detection while exposing how much missing technical detail defenders had to compensate for.

Patch the affected branch. Probe the management interface. Investigate the January to March exploitation window.

If your organisation operates an internet-facing FMC that has never been audited for signs of compromise, this trilogy makes one point clear: the management plane is not the network’s paperwork. It is the network’s crown, and attackers in all three incidents understood its value before defenders did.

References