Cyber SOTU: The Week the Supply Chain Sprung a Leak (Sep 13–20, 2026)
Whack-a-malware. The cat swats DNS packets, fake captchas, and shady widgets in one shift. Busy week.
Welcome back to the Cyber SOTU — the State of Cyber, delivered every Sunday. Five stories from the week that mattered, translated into plain English: what happened, why you should care, and what to do about it.
🔗 Brevo got hacked — and 100,000 websites served malware
What happened: Customer engagement platform Brevo (formerly Sendinblue) disclosed a two-stage supply-chain attack. First, on September 10, attackers exploited a flaw in Brevo's SAML single sign-on to access 138 customer accounts — including one belonging to crypto wallet maker Trezor — sending phishing emails and exporting contacts. Then on September 14, the attackers came back with a stolen long-lived Cloudflare API key and deployed a malicious Cloudflare Worker that injected hostile JavaScript into brevo.com, sibforms.com, and three JS files Brevo customers embed on their own websites. For roughly five and a half hours, visitors were shown a fake "Cloudflare, verify you are human" page with ClickFix instructions — tricking them into running a command on their own computer. On WordPress sites, the script tried to install a fake "Web Media Optimizer" plugin that was actually a persistent backdoor. Security firm Sansec estimates more than 100,000 websites were affected.
Why it matters: This is the supply-chain nightmare in miniature. Nobody hacked those 100,000 sites directly — they trusted Brevo's JavaScript, and the attackers poisoned the well at the edge (Cloudflare), so origin-file integrity checks wouldn't even catch it. One compromised key became a malware distribution network.
What to do: If your site embeds Brevo widgets, audit for rogue WordPress plugin installs and check for backdoors. Scan any endpoints that visited those sites during the window. Rotate Brevo-related API keys. Source: BleepingComputer →
📸 Gyazo breach: 23.6M accounts and the "private" photos that weren't
What happened: Helpfeel, the Japanese company behind the Gyazo screenshot tool, confirmed attackers exploited a vulnerability in its image upload server on September 11 to run arbitrary commands and loot the database. The haul: ~23.6 million user records (names, emails, password hashes, session IDs, X OAuth tokens, Google SSO emails, device IDs, billing status) plus ~490 million image metadata records — including EXIF GPS coordinates, OCR-extracted text from screenshots, upload IPs, and the image IDs that serve as the only access control for "private" images. Gyazo temporarily suspended image delivery on September 14 to stop people from viewing images via the leaked IDs.
Why it matters: Passwords can be reset. OAuth tokens, session IDs, and GPS coordinates on screenshots of your desktop cannot — and password changes don't invalidate existing tokens. The leaked image IDs are the kicker: "private" on Gyazo just meant "unlisted," and now the listing leaked.
What to do: Change your Gyazo password, then revoke Gyazo's access in your X (Twitter) and Google account settings — that's the step everyone forgets. Watch for phishing using your real details. Source: BleepingComputer →
🧱 Check Point's management servers: unauthenticated root, again
What happened: Check Point disclosed CVE-2026-91843 (CVSS 9.8) on September 16 — a stack overflow in the pre-authentication login process of its Security Management and Log Servers. An attacker who can reach the management interface through the Trusted Clients setting can send a login request with an oversized username and get remote code execution as root — no credentials, no user interaction. It's the fifth critical management-plane flaw in three months. Check Point pushed a fix through LivePatch; CISA recorded exploitation as "none" as of September 17, and there's no public proof-of-concept yet.
Why it matters: The management server is the brain of a Check Point deployment — it pushes firewall policy and holds admin access. Root there is game over for everything it manages. And five pre-auth criticals in a quarter is a pattern, not bad luck: the attack surface of the box that defends everything deserves a very suspicious look.
What to do: Apply the LivePatch fix (advisory sk1000155) and confirm with cplp list. Restrict Trusted Clients to known internal management hosts — management interfaces should never face the internet. Source: CyberExperts →
🌐 A malicious DNS zone could pop your DNS resolver
What happened: NLnet Labs warned that every release of Unbound before 1.26.1 carries a critical heap overflow in its DNSSEC validator, tracked as CVE-2026-81642 (CVSS 9.1). An attacker who controls a malicious DNS zone and gets a vulnerable resolver to query it can trigger the overflow with a crafted DNSKEY record — causing a crash (denial of service) and, because the corrupted memory holds attacker-controlled data, possible remote code execution. Unbound 1.26.1 fixes it plus eight other flaws, including a heap-corruption bug in CNAME synthesis reported by Anthropic's Ben Morris.
Why it matters: DNS is plumbing — invisible until it breaks, and then everything breaks. Resolvers sit at the choke point of every lookup, and a network-reachable, no-credentials-needed bug there is about as bad as it gets for infrastructure software.
What to do: Upgrade Unbound to 1.26.1 (note: 1.25.1 does not fix this one — it fixed a different May bug). Source: The Hacker News →
🤖 Claude hacked OpenAI — researchers used AI to breach the AI company
What happened: Three researchers at the security firm Hacktron used Anthropic's Claude Opus 5 to break into OpenAI itself. The chain started with a memory bug in libheif (CVE-2026-32882) in the software behind OpenAI's public community forum — a bug that had been fixed upstream but never flagged with a CVE, so the forum stayed unpatched. A crafted image upload gave them code execution on the forum server; chaining that with an overly permissive OpenAI single sign-on token let them take over employees' ChatGPT and Codex accounts and reach an internal code repository. Total time from first look to internal access: under 72 hours. Claude's predecessor (Opus 4.8) failed at building the exploit; Opus 5 produced a working payload within hours. This was sanctioned research — they proved access with one harmless pull request, reported it, and stopped. OpenAI fixed it in ~14 hours and paid a $6,500 bounty. The full writeup landed September 18.
Why it matters: Two lessons in one story. First, AI is compressing months of exploit-development work into days — the WeWorm story from last week's SOTU was the warm-up act. Second, the unglamorous part: a fixed-but-unflagged library bug plus an over-broad SSO token was the whole entry path. The most expensive AI lab on Earth got breached by its own forum's image uploader.
What to do: If you self-host Discourse/ImageMagick, update libheif. More broadly: audit your own third-party dependencies for "fixed upstream but never patched downstream" gaps, and scope SSO tokens to the minimum they need. Source: The Hacker News →
Your Sunday homework, courtesy of this week's SOTU:
- Unbound upgraded to 1.26.1 (1.25.1 doesn't count for this one)
- Check Point LivePatch applied (sk1000155) — verify with
cplp list - Brevo embedders: audit for rogue WordPress plugins, scan endpoints, rotate API keys
- Gyazo users: new password and revoke X/Google app access
- Self-hosted Discourse: update libheif, scope your SSO tokens
- Trust, but verify, your third-party JavaScript
That's the state of cyber for the week of September 13–20. Patch your resolvers, audit your widgets, and I'll see you next Sunday. 🐱
Every Sunday at 7 PM ET, right here and on the mckai.net homepage. Past editions live in the blog under the NEWS tag.