How a Session-Fixation Bug and a Hardcoded Password Chain Into Root
Two ordinary weaknesses, a predictable session identifier and a built-in password, combined into unauthenticated root on Cisco FMC. Here is how such chains form and how to break them.
Some of the worst vulnerabilities are not one clever trick but two ordinary weaknesses that line up. The maximum-severity Cisco Secure FirewallFirewall🌐Security system that monitors and controls network traffic based on predetermined rules. Management Center bug exploited in the wild in September 2026, CVE-2026-20079, is a clean example: a predictable session identifier and a built-in password, neither devastating alone, combine into unauthenticated root. Understanding how that chain works is worth more than memorizing one CVE, because the same two ingredients show up across enterprise software.
Session Fixation: Reusing a Session You Should Not Know
Web applications track logged-in users with a session identifier, usually a long random value stored in a cookie. The security of that scheme rests entirely on the identifier being unguessable and being tied to a real authentication event. Session fixationSession Fixation🛡️An attack where the attacker knows or sets a victim's session identifier in advance, then rides that session to gain access once it becomes privileged. It works when a program uses predictable session IDs or fails to regenerate them after login. breaks the second assumption. Instead of stealing a victim's session, the attacker arranges to know the session identifier ahead of time and then rides that session to privileged access.
The Cisco case shows how this happens by accident rather than design. At boot, an internal FMC process created a long-lived session with a fixed, human-readable name rather than a random value. That session existed so the appliance's own components could talk to each other. But because its identifier was predictable, an unauthenticated attacker could simply set that value as their own session cookie and adopt the machine's session. No theft, no brute force; the identifier was effectively a published constant.
Fixed or predictable session identifiers are a recurring design mistake. Any time a program creates a session with a static name, reuses a session across reboots, or accepts a session identifier supplied by the client without regenerating it after login, the door is open. The defense is straightforward in principle: generate session identifiers from a cryptographically secure random source, never expose internal service sessions to the network, and regenerate the identifier whenever a privilege level changes.
Hardcoded Credentials: The Password Everyone Has
A hardcoded, or static, credential is a username and password baked into the software itself, identical on every installation. Vendors add them for convenience during development, for internal service-to-service calls, or for support access, and then forget to remove them. Because the credential is the same everywhere, once it leaks from one device or is recovered from the firmwareFirmware🏠Permanent software programmed into a device's hardware that controls its basic functions., it works against every other installation on earth.
In the Cisco chain, a built-in low-privileged account was the second ingredient. After adopting the predictable session, the attacker authenticated with that static account to obtain a valid anti-CSRF token and the permissions needed to continue. Cisco also disclosed a separate hardcoded-password flaw in the same product, CVE-2026-20316, which by itself let an attacker log in remotely with a low-privileged built-in account. A ransomware affiliate used exactly that bug as its way in, which is why static credentialsStatic Credentials🛡️A username and password baked into software and identical on every installation, also called hardcoded credentials. Because the secret is the same everywhere, once it leaks it works against every device, and no customer-side password policy can mitigate it. rate as dangerous even when their direct privilege is low.
Hardcoded credentials are catalogued as their own weakness class precisely because they defeat the entire authentication model. There is no password policy, rotation, or lockout that helps, because the credential was never meant to be managed by the customer. The only real fix is the vendor removing it, which is why these findings almost always require a patch rather than a configuration change.
How Two Small Bugs Become Root
Neither weakness is catastrophic in isolation. A predictable session with no useful permissions is a curiosity. A low-privileged built-in account can read some data but should not own the box. The danger is in the sequence. The predictable session got the attacker past the front door as an unauthenticated stranger. The static credential upgraded that foothold into a session with real permissions and a valid token. With that token, higher-privileged functionality became reachable, and one of those functions wrote an attacker-controlled file that the appliance later executed as root during its upgrade routine.
This is why serious vulnerabilityVulnerability🛡️A weakness in software, hardware, or processes that can be exploited by attackers to gain unauthorized access or cause harm. analysis follows the whole chain rather than scoring each link. A defender who patched only the file-write step would still be exposed through another path; a defender who dismissed the low-severity static credential missed the ingredient a ransomware crew actually used. The September 2026 event, covered in the news report on the Cisco Secure Firewall Management Center attacks, drove the point home: three different groups reached root through different combinations of these same primitives.
Defending Against Chains
The practical takeaways generalize well beyond one product. Treat any static or predictable secret as a critical finding regardless of its standalone CVSS score, because attackers assemble chains and a cheap link is still a link. Apply vendor patches for authentication and credential bugs promptly, since these are the flaws you cannot mitigate with your own configuration. And assume that a device holding administrative reach over your network, which is exactly what a firewall manager is, will be attacked through its management interface, so keep that interface off the public internet.
The blast radiusBlast Radius🛡️The full set of systems, data, and access an attacker can reach after compromising a given asset. Ranking assets by blast radius rather than by how exposed they are pushes high-reach systems like a firewall management console to the top of the priority list. when one of these appliances falls is severe, a point developed in Why a Compromised Firewall Manager Exposes Your Entire Network. And because attackers who chain these bugs then live off the built-in tooling, detecting them requires watching the appliance's own behavior, the subject of How to Detect Living-off-the-Land Abuse on Network Security Appliances.