Critical CVE Response

86,644 FortiGate Firewalls Are Leaking Admin and VPN Credentials. Yours Could Be One.

Dark cyberpunk illustration of a fortified gatehouse at night made of glowing data blocks, its front gate ajar while a stream of cyan light keys siphons out into the darkness past a faint amber perimeter.

The credentials are valid, the firewalls are patched, and the logins still work. That combination is what makes the campaign researchers are calling FortiBleed harder to deal with than a normal vulnerability: there is no CVE to patch your way out of, because the way in is a working username and password on a device you still operate.

On June 13, 2026, researcher Volodymyr "Bob" Diachenko found an exposed attacker server holding validated administrator and SSL VPN credentials for FortiGate firewalls. By June 18 CISA had issued an emergency advisory; by June 19 the confirmed count reached 86,644 unique devices across 194 countries, roughly half of every internet-facing Fortinet perimeter device on the planet. Kevin Beaumont and Hudson Rock independently validated samples from the dataset and confirmed the administrator credentials were real, not recycled junk. Recorded Future's analysis put the raw scale of the operation at about 1.16 billion credential attempts against 320,777 FortiGate targets.

Here is the relevance verdict, because it decides whether you read the rest of this. If you run no internet-facing FortiGate, no SSL VPN portal, and no management interface reachable from the public side, this one is not yours and you can close the tab. Everyone else with a FortiGate at the edge should assume the device is in the set until proven otherwise, because half the exposed fleet already is. For a small business that means the box at the front door of your network, the one your remote staff VPN through, may be handing its keys to someone else. Whoever holds an admin login owns your firewall rules, your VPN, and a clear path to everything behind it.

What FortiBleed is, and what it is not

Fortinet's PSIRT was direct about the mechanism: this is credential reuse combined with brute-force against devices that have weak password hygiene and no multi-factor authentication. There is no new product flaw at the center of it. Their analysis describes a crew that scans the internet for Fortinet login endpoints and sprays a curated list of leaked passwords at every one it finds.

The clever part is the feedback loop. Once a single FortiGate falls, the operators stop treating it as a target and start treating it as a sensor. They sit on the compromised firewall and watch SSL VPN traffic pass through it, scraping any additional credentials that flow by in the clear. Those freshly harvested passwords go straight back into the scanner, which then opens the next set of doors. A campaign that started with old breach data ends up self-feeding on live credentials pulled off the wire. Run that loop across the whole internet for a few weeks and you arrive at 86,644 confirmed devices.

The dataset is not limited to small shops. Affected organizations span government, telecommunications, financial services, healthcare, manufacturing, and critical infrastructure. The credential breakdown that SOCRadar published from the leak is the part worth sitting with: roughly 35 percent generic admin accounts, 28 percent built-in Fortinet system accounts, and the rest organization-specific logins. Default and near-default admin names are doing a lot of the work here.

Why patching FortiOS did not take you off the list

A lot of administrators saw the headlines, checked that their firewall was on a recent FortiOS build, and assumed they were clear. Many of the devices in the dataset were running current versions. Two things explain that.

First, password storage. Fortinet introduced PBKDF2 hashing for administrator credentials in FortiOS 7.2.11, 7.4.8, and 7.6.1. The catch is that legacy SHA-256 hashes do not get upgraded automatically. They persist until each administrator logs in again after the upgrade and the password is rehashed. An estate that upgraded the firmware but never forced a re-login kept the weaker hashes in place, and any of those that matched a prior breach were crackable offline.

Second, and more important, the campaign does not need a software bug at all. A fully patched FortiGate with its management interface or SSL VPN portal exposed to the internet and an admin password that has ever appeared in a breach corpus is exactly what the scanner is built to find. Firmware version is not the variable that mattered. Exposure plus a guessable or reused credential is.

Find out whether you are in the dataset

You do not need the leaked file to assess your own risk. Work from your own device. Three questions decide your exposure: who can log in, from where can they reach the login, and has anything been added that you did not add. Start at the console:

# FortiOS CLI - audit who can authenticate and from where
show system admin                 # every admin account, profile, and trusted-host scope
get vpn ssl monitor               # SSL VPN users connected right now
diagnose vpn ssl list             # active SSL VPN tunnels - kill any you cannot place

# Is management actually exposed to the internet?
show system interface | grep -A 20 'edit "wan1"'
#   look at the allowaccess line: https or ssh there means the
#   admin GUI/CLI answers on the public side. That is the front door.

# SSL VPN listening on the WAN?
show vpn ssl settings | grep -e 'source-interface' -e 'port'

Two specifics to check against the leak. Fortinet called out suspicious account names that show up after compromise: forticloud, fortiuser, fortinet-support, and fortinet-tech-support. If any of those exist and you did not create them, treat the device as compromised, not just exposed. And if show system admin lists any account with no trusted-host restriction whose password predates this week, that account is a candidate for the spray list whether or not it was hit yet.

What a clean result looks like

  • No management on the WAN. The allowaccess line on internet-facing interfaces contains ping at most, never https, ssh, or http.
  • Every admin scoped by trusted host. Logins only accepted from your management ranges, not 0.0.0.0/0.
  • No accounts you cannot name, and no SSL VPN local users created outside your own provisioning.

Reset in the right order

CISA and Fortinet converge on the same sequence, and the order matters because resetting passwords while live sessions are still authenticated leaves the attacker logged in. Work top to bottom:

  1. Terminate every active session first. Kill all SSL VPN tunnels and administrative sessions before you touch credentials, so a reset cannot be ridden by a session that is already open.
  2. Reset all credentials. Every local admin and VPN password, plus the bind/service accounts your FortiGate uses for LDAP or RADIUS. Anything that authenticated through this device during the exposure window should be considered leaked.
  3. Force the stronger hashing. Upgrade to a current 7.4, 7.6, or 8.0 build and require PBKDF2 so the old SHA-256 hashes are retired on next login.
  4. Turn on MFA for every administrator and VPN user. The campaign explicitly preys on accounts without it.
  5. Pull management off the public internet and scope SSL VPN to the users who actually need it.

The credential and hardening steps in CLI form:

# Reset a local admin password
config system admin
    edit "admin"
        set password <new-long-random-secret>
    next
end

# Lock out any account still carrying a weaker legacy hash until it rehashes
config system global
    set login-lockout-upon-weaker-encryption enable
end

# Take HTTPS/SSH management off the internet-facing interface
config system interface
    edit "wan1"
        set allowaccess ping
    next
end

# Restrict an admin to your management network only
config system admin
    edit "admin"
        set trusthost1 203.0.113.0 255.255.255.0
    next
end

Hunt for what already ran

A working credential means the attacker may already have logged in, and a firewall reset does nothing about access that happened before it. Before you call the device clean, pull and review the logs for the exposure window, which for most environments means back to at least early June. Look for administrator logins from IP addresses or countries that do not match your team, configuration changes you cannot tie to a change ticket, new SSL VPN local users, and edits to admin profiles or static routes.

Then follow the trust outward. A FortiGate that authenticates VPN users against Active Directory hands the attacker a place to spray those same credentials internally. Pull your domain controller sign-in logs and look for authentication sourced from the firewall's internal interface address at odd hours. Because the campaign harvests credentials passively off the VPN, rotate the AD passwords for any account that connected through the SSL VPN during the window, and rotate any service account reachable from the DMZ. Changing the firewall password is the start of the cleanup. It ends only after every credential that touched that device has been rotated and you have confirmed no one used them downstream.

Reset every credential, then take the firewall off the public internet

If you operate an internet-facing FortiGate, do three things this week regardless of what your logs show: terminate sessions and reset every credential the device knows, enable MFA on admin and VPN access, and move the management interface so it answers only from inside your network. None of that needs an enterprise budget or a maintenance window you do not have; it needs an hour at the console and the decision to treat your perimeter device as already-credentialed until you have proven it is not. Fortinet and CISA gave away the full procedure, and this article does too, because authority is the point: a small team can do this itself.

Not certain your perimeter reset actually closed the door?

Red Hound helps small teams audit internet-facing firewalls and VPN gateways, confirm credential resets actually took across every account and bind, and lock management down to where it belongs. Book a 30-minute working session to walk your Fortinet estate and the trust paths behind it.