how it happened
- whostate actorinside SolarWinds 2019
- the gapOrion updatesigned with a real certificate
- thencustomer networksbackdoor for most of a year
- the result~18,000 customersfound by FireEye
what everyone assumed
You cannot audit every vendor yourself, so you rely on the signals that exist for exactly this reason: a signed SOC 2 report, an ISO certificate, a clean audit. Those signals mean someone competent looked and found the controls in place. When a vendor clears that bar and signs its releases, applying the update is the responsible thing to do, the thing your own auditors want you to do. Trusting a certified vendor is not negligence. It is the process working as designed.
what happened
Around September 2019, an intruder gained access to SolarWinds’ internal network and spent time understanding how the company built its Orion product. Between roughly March and June 2020, malicious code later named Sunburst was inserted into legitimate Orion software builds, and SolarWinds distributed those compromised updates to its customers. The updates were signed with SolarWinds’ own valid code-signing certificate, so every downstream security check said they were authentic. For most of a year, the backdoor sat inside a product that had passed its audits, shipping to customers who had done everything their own compliance frameworks asked of them.
step by step
- around September 2019an intruder studies the Orion buildInside SolarWinds' network.
- March to June 2020Sunburst is inserted into real buildsSigned with SolarWinds' own certificate.the assumption breaks here
- up to 18,000 customers install itA smaller set of high-value targets is pursued.
- 13 December 2020FireEye traces its own breach backIn 2023 the SEC charges SolarWinds and its security chief.
how it surfaced
The security firm FireEye detected an intrusion in its own systems in December 2020, traced it back through the supply chain, and on December 13, 2020, the compromise was disclosed publicly. Up to roughly 18,000 SolarWinds customers had downloaded a version of Orion containing the backdoor, though the intruder pursued a much smaller set of high-value targets from there. The certifications had all been real. The audits had all been passed. The assumption retired itself the moment a signed update from a certified vendor turned out to be the delivery mechanism. In 2023, the SEC would charge SolarWinds and its security chief with misleading investors about the company’s security posture.
A certification tells you a vendor met a standard at a point in time.
It does not tell you the vendor has not been compromised, because a signed, audited, certified product is exactly what an attacker wants to ship through. The paperwork is a floor.
picture it at a company like yours
The company here is made up. The other two paths are not: they happened, and each links to the story.
- in this storythe day it mattersAttackers slip a backdoor into a genuine update at the vendor.what it costs youYour network is open to them through software you were told was safe.
- or it goes like thisit happenedtj-actions/changed-files, 2025howA build helper everyone uses is hijacked and its versions repointed.what leavessecret keys, printed into build logswho ends up with itanyone reading public logs
- or it goes like thisit happenedPolyfill.io, 2024howA script your site loads from elsewhere changes owner.what leavesyour visitors' safetywho ends up with itthe new owner of the script
sources
your turn
what you can do about it
this week
Pick the one vendor with the deepest access into your environment and ask what you would actually see if their product started behaving abnormally after an update.
The certificate on file is why the vendor question feels answered. The quiet-months question is different: if that vendor were compromised the way SolarWinds was, would anything on your side notice, or would the signed update simply install. The organizations that fared best in 2020 were the ones watching what their trusted software did, not just collecting its certificates.
go deeper
if you're not sure where to start
Run the offboarding checklist on one leaver. It covers every account and token to close when someone leaves.
open the checklist →
