CVE-2026-87673
Executive Summary
CVE-2026-87673 is an OS command injection vulnerability (CWE-78) in maintenance command-line diagnostic utilities on Brocade Fabric OS versions before 9.2.2d and 10.0.0 through 10.0.0a1. An attacker who already holds maintenance account access can supply crafted input parameters that are passed unsanitized to a shell interpreter, resulting in arbitrary command execution with root privileges. Because Brocade Fabric OS underpins Fibre Channel SAN fabrics in enterprise and service-provider environments, successful exploitation grants total control of a switching element within the storage network.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability resides in maintenance-mode command-line diagnostic utilities of Brocade Fabric OS. According to the NVD description, the affected binary "fails to sanitize user-supplied input options when invoking underlying system commands through a shell interpreter." This is a textbook CWE-78 OS command injection condition: user-controlled input is concatenated into (or otherwise passed through) a command string that is then executed by a shell, rather than being passed to an exec-family call as a discrete argument vector.
The attack surface is the maintenance CLI — a privileged diagnostic interface distinct from normal administrative CLI access. The precondition is significant: the attacker must already possess a maintenance account. This is not a pre-authentication remote exploit. However, the privilege boundary crossed is substantial: a maintenance-level operator, who under normal conditions would only be able to run a constrained set of diagnostics, can escalate to arbitrary OS command execution as root. That converts a bounded operational role into full control of the device's underlying operating system.
Key mechanics derivable from the description:
- Injection point: unsanitized "user-supplied input options" to a maintenance diagnostic utility.
- Sink: a shell interpreter invocation of "underlying system commands."
- Metacharacter class: because a shell is in the execution path, standard shell metacharacters (command separators, substitution constructs, redirection operators) are the likely injection vectors. No specific parameter names, flags, or utility names are disclosed in the description, and none are invented here.
- Privilege outcome: "arbitrary OS command execution with root privileges."
Because Fabric OS runs on Brocade SAN switches and directors, root on the switch means control over fabric services, zoning, and management-plane processes. There is no disclosed authentication bypass — the maintenance credential remains a hard prerequisite, which constrains mass exploitation but does not reduce severity for environments where maintenance accounts exist or are shared.
Exploitation Scenarios
The following chain is inferred strictly from the vulnerability class and the description; no public PoC is available, and no exploit code exists in tracked sources.
Reconnaissance / target identification. An adversary identifies Brocade Fabric OS management interfaces. This typically follows compromise of a jump host, credential harvesting of administrative credentials, or lateral movement inside a management VLAN. The attacker must determine the Fabric OS version to confirm it falls before 9.2.2d or within 10.0.0 through 10.0.0a1. Version identification may be possible through management CLI banners or authenticated inventory tooling.
Access acquisition (precondition). The attacker obtains valid maintenance account credentials. This could be through credential reuse, shared/default maintenance credentials, insider access, or prior compromise of an operator workstation. Without maintenance access, the injection point is unreachable per the described attack surface.
Triggering the flaw class. Using the maintenance diagnostic interface, the attacker invokes an affected diagnostic utility and supplies a crafted input option containing shell metacharacters. Because the binary does not sanitize the option before invoking a shell, the injected content is interpreted as part of the underlying system command. No specific utility name, flag, or argument syntax is disclosed in the NVD description, so the exact payload construction cannot be stated without speculation.
Execution and post-exploitation. The injected command executes with root privileges. From that position an attacker can read or modify fabric configuration, alter zoning, disable logging and auditing, establish persistence (for example, modified startup scripts or added local accounts, at the OS layer), pivot to other fabric members over management channels, or manipulate traffic handling on the switch. Because the vulnerable component is a network switching element, integrity of the storage path itself is at risk.
Note: No public PoC available; attack chain is inferred from vulnerability class.
Impact Assessment
The CVSS vector assessed here — CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H — reflects a network-reachable flaw requiring high privileges, with no user interaction, and a scope change because the vulnerable CLI component compromises the host OS (a different security authority). Confidentiality, integrity, and availability impacts are all High.
Business impact:
- Scope change and root: Root-level command execution on the switch OS extends impact far beyond the diagnostic utility. Attackers can affect the entire embedded OS, not merely the maintenance function.
- Blast radius: A compromised Brocade switch affects the SAN fabric: attached hosts, storage arrays, and backup paths. Fabric-level actions (zoning changes, fabric reconfiguration) can cause storage outages for downstream applications and databases.
- Data integrity: SAN switches sit in the data path; a root-level adversary can potentially influence or observe management-plane operations and configuration.
- Lateral movement: Fabric OS management connectivity between switches can serve as a pivot within the SAN management tier.
- Detection difficulty: Legitimate maintenance commands from a valid maintenance account provide cover; the activity may resemble expected diagnostics.
Affected systems: all Brocade Fabric OS deployments running versions before 9.2.2d and any 10.0.0 through 10.0.0a1 release. No CVSS base score was provided by the CNA feed used here; the vector above is an assessed value and should be treated as such.
Detection Guidance
Sigma Rule
title: Brocade Fabric OS Maintenance CLI OS Command Injection Attempt (CVE-2026-87673)
id: 3f6b2c1a-9d84-4e21-8a77-5c0e9b1d7a42
status: experimental
description: Detects shell metacharacter injection into maintenance diagnostic utility arguments on Brocade Fabric OS
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-87673
author: valtersit.com
logsource:
product: brocade
service: fabricos
category: process_creation
detection:
selection_util:
process.command_line|contains:
- 'maintenance'
- 'diag'
selection_metachar:
process.command_line|contains:
- ';'
- '|'
- '&&'
- '$(('
- '`'
- '>'
condition: selection_util and selection_metachar
fields:
- user.name
- process.command_line
- host.name
falsepositives:
- Legitimate diagnostic output redirected to a file by maintenance staff
level: high
tags:
- attack.t1190
- cve.2026.87673
YARA Rule
rule CVE_2026_87673_Brocade_FabricOS_CmdInjection
{
meta:
description = "Suspicious shell metacharacter usage tied to Brocade Fabric OS maintenance CLI command injection (CVE-2026-87673)"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-87673"
date = "2026-01-01"
cve = "CVE-2026-87673"
strings:
$met1 = ";" ascii
$met2 = "&&" ascii
$met3 = "$(" ascii
$met4 = "`" ascii
$diag1 = "maintenance" ascii nocase
$diag2 = "diagnostic" ascii nocase
condition:
filesize < 10MB and
any of ($diag*) and any of ($met*)
}
Suricata IDS Rule
alert tcp $HOME_NET any -> $HOME_NET 22 (
msg:"CVE-2026-87673 Brocade Fabric OS Maintenance CLI Command Injection Attempt";
flow:to_server,established;
content:"|3B|";
content:"maintenance"; nocase; distance:0;
classtype:attempted-admin;
sid:202687673;
rev:1;
reference:cve,CVE-2026-87673;
metadata:cve CVE-2026-87673;
)
Elastic Detection
process where event.category == "process" and
process.command_line : ("*maintenance*" or "*diag*") and
process.command_line : ("*;*" or "*|*" or "*&&*" or "*$(*" or "*`*")
Splunk SPL Query
index=os sourcetype=linux_secure OR sourcetype=brocade_fabricos
| search (terminal=* OR command=*)
| where match(command, "maintenance|diag") AND match(command, "[;&|`]|\$\(")
| stats count min(_time) as first_seen max(_time) as last_seen by host user command
| convert ctime(first_seen) ctime(last_seen)
| sort - count
Wazuh OSSEC Rule
<group name="brocade,fabricos,cve-2026-87673,">
<rule id="2026873" level="12">
<decoded_as>json</decoded_as>
<field name="command">maintenance|diag</field>
<field name="command">(\;|\||&&|\`|\$\()</field>
<description>CVE-2026-87673: Possible OS command injection via Brocade Fabric OS maintenance CLI</description>
<mitre>
<id>T1190</id>
</mitre>
<group>attack,command_injection,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate mitigations
- Restrict maintenance account availability: disable or tightly vault maintenance credentials, enforce just-in-time access, and rotate any shared maintenance passwords.
- Restrict network reachability of the maintenance/management interface to a dedicated, monitored out-of-band management VLAN. Do not expose Fabric OS management to untrusted networks.
- Remove standing maintenance accounts where operationally feasible; enforce individual credentials with full auditing.
- Alert on any use of maintenance diagnostic utilities, and specifically on shell metacharacters in arguments.
Patch / upgrade steps
- The description states the flaw affects Fabric OS versions before 9.2.2d and 10.0.0 through 10.0.0a1; upgrade to 9.2.2d or later. For the 10.0.0 branch, avoid 10.0.0 through 10.0.0a1 and move to the fixed release designated by the vendor.
- Because no vendor patch reference was captured in tracked sources (patch confidence 0/4), verify the exact fixed release against the official Brocade/Broadcom security advisory before scheduling maintenance windows.
- Coordinate upgrades with SAN change-control windows; validate fabric health and zoning backups beforehand.
Long-term hardening
- Enforce least privilege on maintenance and diagnostic roles; eliminate shared accounts.
- Centralize Fabric OS logging to a SIEM with alerting on diagnostic invocations.
- Enable configuration integrity monitoring and regularly audit for unexpected local accounts or startup script changes.
- Apply defense-in-depth segmentation so a compromised switch does not bridge to broader management infrastructure.
References
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-87673
- CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'): https://cwe.mitre.org/data/definitions/78.html
- MITRE ATT&CK T1190 — Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/
- Broadcom/Brocade Fabric OS Security Advisories (consult the vendor's official advisory page for the fixed firmware release)
- EPSS score 0.00899 (58.4th percentile), retrieved from the FIRST EPSS dataset
No CISA KEV listing, public PoC, exploit code, or known threat actor campaign tied to CVE-2026-87673 was present in the provided intelligence data at the time of writing.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.