The University of Nottingham confirmed Wednesday that an attacker walked off with student and alumni records belonging to more than 450,000 people. Some of those alumni graduated decades ago. They never opted into anything called cybersecurity. They just expected their school to keep their data while they got on with their lives.
That breach is one of three stories from this week that share a deeply unflattering thread. Somebody, somewhere, left a default sitting where they shouldn’t have. A vendor default. An install-script default. An appliance setting that nobody ever revisited. The bill always arrives later, with interest.

The Ivanti Patch That Sat Untouched Until It Cost Root
Ivanti disclosed a maximum-severity flaw in Sentry weeks ago. As of this week, attackers are actively exploiting it to gain root on internet-exposed mobile gateways. The default deployment posture, an admin interface reachable from the public internet without rate limits or strict network segmentation, is what makes the exploit useful at scale.
Defenders don’t get to plead surprise here. Ivanti’s edge gear has been a recurring host for pre-auth bugs. The pattern is familiar enough that “Ivanti appliance, internet-facing, default config” should trip internal alarms before any CVE drops. It usually doesn’t.
Root execution on an internet-exposed mobile gateway is a configuration choice meeting an attacker on time. It is rarely a surprise.
The Nottingham breach has not been linked to Ivanti as of this writing, but the shape is identical. A piece of infrastructure with student records behind it sat in a state that allowed an outside party to reach in. Whether that was an Ivanti box, a misconfigured identity provider, or a third-party app with a permissive OAuth scope, the breach surface looks the same from the attacker’s side: a thing that should have been hardened, wasn’t.
GitHub Pulled The npm Trigger A Decade Too Late
GitHub announced this week that npm v12 will disable install scripts by default. For anyone who’s lived through a supply chain attack that pivoted off a lifecycle hook in a transitive dependency, this is a long-awaited admission. Install scripts were a productivity convenience that became a weaponized one. The default ran code. Turning the default off is sane cyber security policy. It’s also overdue.
The takeaway is that defaults age poorly. Decisions made in 2010 about developer convenience became 2026 attack surface. The same logic applies to every default in your stack:
- Database connections that accept any IP on a private subnet without further auth.
- Container runtimes that share host namespaces unless explicitly told not to.
- SSO grants that expire after twelve months instead of ninety days.
- VPN appliances that ship with a default cert that nobody rotates.
- Backup jobs that retain access tokens with full-tenant scope.
Each of those defaults was reasonable at the time someone wrote it. Each one is a defense in depth gap now. Waiting for the vendor to flip the switch, as GitHub finally did, is a strategy that costs you about a decade.
The Cybersecurity Defaults Worth Reversing This Week
None of this requires a new product. All of it requires the boring work of finding and reversing the defaults that were never meant to outlive their first deployment.
Start with an inventory of internet-exposed appliances. Every VPN concentrator, mobile gateway, file transfer box, and IPMI interface. If you don’t know what’s on the public internet under your ASN, you can’t defend it. Cross-reference with the KEV catalog and the vendor advisories from the last 18 months. Anything in that overlap with default management ports open gets segmented or pulled this week. A firewall rule that limits the admin interface to a jump host costs nothing and ends most of these stories early.
Tighten brute-force controls on every authentication surface. Edge appliance admin panels, VPN portals, RDP, SSH, identity provider sign-in pages, help-desk callback flows. A surprising amount of post-exploit pivoting starts with credential spraying that should have tripped a rate limit. Tools like fail2ban, IPBan, or IPBan Pro at the network and host edge, plus account lockout policies that bite before the tenth attempt, take a chunk out of automated abuse. Pair it with phishing-resistant MFA on every admin role, not just the named CISO accounts.
Audit dependency lifecycle behavior in your build pipelines now. Don’t wait for npm v12. Set --ignore-scripts on CI runners today, pin transitive dependencies, and enforce SBOM diff review on every merge that changes package-lock files. The same logic applies to pip’s PEP 668, RubyGems’ allowlists, and any internal artifact repository that mirrors public registries.
Map your long-tail data. Universities, healthcare networks, and government records offices hold decades of identity information that was collected with no expiration date. If a 1998 enrollment file is still queryable from a current admin console, that is a threat detection scope problem before it is a retention problem. Set a deletion schedule. Move archived data into systems with separate auth and separate logging. Treat alumni records the way you’d treat live customer PII, because to an attacker selling on a forum, that’s what they are.
Wire your incident response runbooks to the assumption that a default failed. Practice the breach where the attacker entered through an admin interface that nobody had touched in three years. Practice the breach where a build-time hook in a dependency dropped a backdoor into last quarter’s release. Practice the breach where an alumni database got copied at three in the morning and nobody noticed because the threat-protection tooling was only watching student-facing systems.
The University of Nottingham will spend the next year notifying people who graduated before smartphones existed. Ivanti customers will spend it patching, then auditing what was already taken. The npm change will save somebody a future incident, but it will not undo the install-script breaches already shipped to production. Security hardening is what happens before the bill comes due. Everything after carries the incident response label.
Sources
- Nottingham University data breach affects over 450,000 students
- Max severity Ivanti Sentry vulnerability now exploited in attacks
- GitHub to Disable npm Install Scripts by Default to Stop Supply Chain Attacks
Take Control of Your Server Security
Don't let brute-force attacks slow you down. Try IPBan Pro risk-free for 30 days.
Secure. Automated. Lightweight.
Take Control of Your Server Security
Don't let brute-force attacks slow you down. Try IPBan Pro risk-free for 30 days.
Secure. Automated. Lightweight.
