Today's headline isn't a CVE, it's an active incident: Adform's ad-serving script has been swapping cryptocurrency wallet addresses in visitors' clipboards for at least a week, with no public disclosure from the vendor. Every site embedding Adform's tags has been quietly redistributing that payload to its own visitors the whole time — the textbook shape of a third-party-script supply chain attack, invisible from server-side logs.
Five unrelated critical disclosures landed independently on top of that, and the pattern rhymes even though the campaigns don't: Apostrophe CMS's prototype pollution disables authorization process-wide from one authenticated write, NocoBase's SQL injection chains an anonymous self-signup into Postgres superuser RCE, Bank-Vaults' admission webhook trusts an attacker-supplied Vault address and hands out cluster-wide ServiceAccount tokens, Pterodactyl's Wings daemon leaks its own auth token through a template placeholder a tenant can smuggle in, and AWS Amplify Studio's codegen package turns unsanitized component schemas into arbitrary JS at build time. None of these share an origin — they share a shape: something downstream trusted an input it shouldn't have. The bright spot is process, not code: NLTK and Thumbor each shipped batched disclosures — four and six advisories respectively — reading like a single coordinated security sweep of each project's trust boundary, published all at once instead of trickled out.
Late escalation at 21:00 ET: Apostrophe's trust-boundary problem turned out not to be a single bug. Two more advisories from the same release window surfaced after First Watch — a stored XSS in @apostrophecms/seo where an admin-set Google Analytics/GTM ID renders as unsanitized script, and an unauthenticated SSRF in @apostrophecms/file's pretty-URL handling via the Host header. Same vendor, same day, three packages.
→ Operational priority for the night if you run Adform ad tags anywhere, pull them now and check outbound clipboard/network behavior in any cached browser sessions from the past week; if you run Apostrophe CMS, patch core, @apostrophecms/seo, and @apostrophecms/file together — don't stop at the prototype-pollution fix you caught at 18:00.