BRUSHFIRE is a passive, memory-resident backdoor written in bare C that targets Ivanti Connect Secure VPN appliances. It was observed in post-exploitation activity beginning in mid-March 2025 involving CVE-2025-22457, a buffer overflow vulnerability enabling remote code execution. The activity is associated with UNC5221, a suspected China-nexus espionage actor, and also involved the TRAILBLAZE dropper and components of the SPAWN malware ecosystem.
A shell-script deployment chain uses TRAILBLAZE to inject BRUSHFIRE into a code cave within an existing appliance web process. BRUSHFIRE hooks SSL_read, calls the original function, and checks whether the returned data begins with a specific trigger string. When matching input is received, it XOR-decrypts and executes shellcode embedded in that input. If the shellcode produces a return value, BRUSHFIRE sends it back using SSL_write. This passive design allows attacker-supplied code to execute through the appliance's existing TLS-handling process.
The observed deployment is nonpersistent: restarting the affected process or appliance removes the implant, requiring the dropper to run again. Its in-memory execution and integration into a legitimate web process support stealthy post-compromise access.
Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.
1 CVE Mallory has correlated with this family across public research and vendor advisories. Each row links to the full Mallory page for that vulnerability.
The earliest evidence of observed CVE-2025-22457 exploitation occurred in mid-March 2025. Following successful exploitation, we observed the deployment of two newly identified malware families, the TRAILBLAZE in-memory only dropper and the BRUSHFIRE passive backdoor. | BRUSHFIRE is a passive backdoor written in bare C that acts as an SSL_read hook.
1 distinct threat actor attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.
BRUSHFIRE is a passive backdoor written in bare C that acts as an SSL_read hook.
12 distinct techniques documented for this family, organized by ATT&CK tactic.
"Mandiant observed the deployment of two newly identified malware families ... through a shell script dropper."
"use of a shell-script dropper to inject TRAILBLAZE and BRUSHFIRE into a live web process, avoiding persistence and focusing on stealth"
"It then deletes all of the temporary files previously created ... as well as the contents of the /data/var/cores directory."
"If the data begins with the string, it will XOR decrypt then execute shellcode contained in the data."
5 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Malware deployed via exploitation of Ivanti Connect Secure CVE-2025-22457 (as described).
A passive backdoor injected into a live web process on Ivanti Connect Secure; hooks SSL_read to execute encrypted payloads, emphasizing stealth and avoiding persistence.
A passive backdoor deployed post-exploitation on compromised Ivanti Connect Secure appliances.
Payload loaded by TRAILBLAZE into allocated memory within the ICS web process.
Match every observed IP, domain, and hash against your live telemetry.
Named campaigns wielding this family, with evidence pinned to each claim.
CVEs this family uses for access and lateral movement.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Every documented technique, ranked by evidence weight.
Reddit, Mastodon, and CTI community discussion around this family.