On this page
On this page
- 0. TL;DR
- 1. Active Threats, Trending Actors, Notable Incidents & Disclosures
- 2. Trending Vulnerabilities
- 3. Research & Investigative Reporting
- 4. Updates to Prior Coverage
- 5. Deep Dive — Packagist supply-chain wave: Laravel-Lang autoloader backdoor and the cross-ecosystem postinstall strand
- 6. Action Items
- 7. Verification Notes
Tags (13)
Regions (3)
References (18)
- CVE-2026-48172
- CVE-2026-33278
- CVE-2026-42944
- CVE-2026-3593
- CVE-2026-5946
- CVE-2026-9256
- CVE-2025-9086
- Breach at billing processor Unimed exfiltrates ~97,600+ patient records from six German university hospitals (attribution open)
- Deleted Google Cloud API keys keep authenticating up to 23 minutes (GCP IAM eventual consistency)
- Atos TRC: hardware-gated Windows drivers made BYOVD-exploitable in software (PnP AddDevice / filter restacking / registry)
- npm 2FA-gated staged publishing GA + install-source restriction flags (supply-chain hardening)
- Packagist supply-chain wave: Laravel-Lang autoloader backdoor + 8-package cross-ecosystem postinstall strand
- GitHub Advisory Database
- heise Security
- Help Net Security
- The Record (Recorded Future News)
- Socket Security (socket.dev blog)
- Centre for Cybersecurity Belgium (CCB)
0. TL;DR
- LiteSpeed User-End cPanel plugin CVE-2026-48172 (CVSS 4.0 = 10.0) is being actively exploited — any logged-in cPanel user can call the
lsws.redisAbleJSON-API endpoint to run arbitrary scripts as root on shared-hosting servers. The vendor confirms in-the-wild exploitation and ships the fix in plugin v2.4.7 / WHM v5.3.1.0 (LiteSpeed, 2026-05-21). Multi-tenant root compromise affects every co-hosted tenant on the box — patch and hunt now. - Attackers exfiltrated ~97,600+ patient records from six German university hospitals (Cologne, Freiburg, Heidelberg, Tübingen, Ulm, Mannheim) via Saarland billing processor Unimed — GDPR Art. 9 health data plus bank-account data in some cases, no clinical-system encryption. The Unimed perpetrator is unattributed; the pattern echoes the Kairos-linked ARWINI breach covered 2026-05-19, but that overlap is an analyst observation, not a sourced attribution (The Record, 2026-05-22).
- A Packagist (PHP/Composer) supply-chain wave hit the Laravel-Lang ecosystem — 700+ version tags rewritten to point at attacker forks, an
autoload.filesbackdoor that executes on every request, and a separate 8-packagepackage.jsonpostinstall strand dropping a Linux implant. Full mechanics in today's deep dive (Socket, 2026-05-23). - A DNS-resolver patch cluster landed the same week — Unbound 1.25.1 fixes 11 CVEs including a CVSS 9.8 pre-auth DNSSEC use-after-free (CVE-2026-33278), and ISC BIND 9.18.49/9.20.23 fix a DoH use-after-free (CVE-2026-3593) and a single-query DoS (CVE-2026-5946). No exploitation reported; patch recursive infrastructure.
- Deleted Google Cloud API keys keep authenticating for up to 23 minutes due to GCP IAM eventual consistency — key revocation is not an immediate containment action; update GCP incident-response runbooks accordingly (Aikido, 2026-05-21).
1. Active Threats, Trending Actors, Notable Incidents & Disclosures
Six German university hospitals lose ~97,600+ patient records to a breach at billing processor Unimed
Unimed, a Saarland-based billing-service provider that handles private-insurance and self-payer invoicing for an estimated 95% of German university hospitals, was breached in mid-April 2026; attackers exfiltrated patient data and an attempted full encryption of Unimed's infrastructure was reportedly averted (heise online, 2026-05-22). On 2026-05-21 at least six state-funded Universitätsklinikum hospitals — Cologne, Freiburg, Heidelberg, Tübingen, Ulm and Mannheim — disclosed that their patients' data was among the stolen records (The Record, 2026-05-22). University Hospital Freiburg states master data for ~54,000 patients (names, addresses, dates of birth) was taken, with billing records for ~900 patients additionally exposing diagnoses and treatment methods, and bank-account data in a small number of those cases (Uniklinik Freiburg, 2026-05-21); Cologne reports ~30,000 affected (Uniklinik Köln, 2026-05-21). The exposed categories include GDPR Article 9 special-category health data (diagnoses, treatment codes) and financial data (IBANs). Attribution is open: heise states it is "not yet known who is responsible" for the Unimed attack, and The Record likewise reports no actor had publicly claimed responsibility at its publication. The intrusion does rhyme with the earlier ARWINI Lower-Saxony statutory-billing breach (covered 2026-05-19) — which the Hannover Police Directorate attributed to the Kairos ransomware group per heise — but that resemblance is an analyst pattern-overlap, not a sourced attribution of the Unimed breach.
2. Trending Vulnerabilities
CVE-2026-48172 — LiteSpeed User-End cPanel plugin: authenticated cPanel user to root via `lsws.redisAble`, actively exploited
CVE-2026-48172 is an incorrect-privilege-assignment flaw (CWE-266) scored CVSS 4.0 = 10.0 in the LiteSpeed User-End cPanel plugin, versions 2.3 through 2.4.4. The defect sits in the lsws.redisAble function of the plugin's JSON-API endpoint — the handler that toggles Redis support — which is exposed by default to every logged-in cPanel user. A single API call with crafted parameter values executes arbitrary scripts as root; there is no race to win and no administrator (WHM) access required, so any low-privilege tenant or compromised hosting account escalates to full server root (GitHub Advisory GHSA-fxrh-cwjh-m33v, 2026-05-21). LiteSpeed confirms the vulnerability "is being actively exploited" across all 2.3–2.4.4 versions; cPanel auto-removed the vulnerable plugin during its 2026-05-19 nightly update, and the vendor shipped fixes in plugin v2.4.6 (initial) and v2.4.7 / WHM plugin v5.3.1.0 (full review) (LiteSpeed, 2026-05-21). The LiteSpeed WHM plugin is not affected.
On multi-tenant shared hosting — the dominant model for EU/CH SME and small public-sector web presences — root on the box exposes every co-tenant's TLS private keys, web-app source, database credentials and mail spool. Hunt cPanel access logs for the string cpanel_jsonapi_func=redisAble; any occurrence from a non-administrative account is the vendor-described exploitation artefact. Map to ATT&CK T1068 (Exploitation for Privilege Escalation). Hardening: upgrade to plugin v2.4.7 / WHM v5.3.1.0 immediately, or disable the LiteSpeed cPanel plugin until patched.
DNS-resolver patch cluster — Unbound 1.25.1 (11 CVEs) and ISC BIND 9.18.49 / 9.20.23
Two of the most widely deployed open-source DNS resolvers shipped coordinated security releases on 2026-05-20. NLnet Labs Unbound 1.25.1 fixes 11 CVEs; the headline issue is CVE-2026-33278 (CWE-416 use-after-free; CVSS 9.8 per CCB Belgium), where a struct-assignment bug overwrites a destination pointer during deep-copying of DS sub-query structures when NSEC3 budget exhaustion forces a suspend — a remote unauthenticated attacker who controls a DNSSEC-signed domain can crash the daemon or potentially execute code (affected 1.19.1–1.25.0) (NLnet Labs, 2026-05-20). CVE-2026-42944 (heap overflow, CVSS 7.5 per CCB Belgium) is reachable in the default configuration — answer-cookie and pad-responses are on by default — when a reply encodes multiple NSID / DNS-Cookie / EDNS-Padding options (CCB Belgium, 2026-05-20). ISC BIND 9.18.49 / 9.20.23 fix CVE-2026-3593 (CVSS 7.4 use-after-free in the DoH/HTTP-2 path; 9.20.x only, 9.18.x lacks DoH) and CVE-2026-5946 (CVSS 7.5 DoS — a single query bearing a non-Internet CLASS such as CHAOS/HESIOD or an ANY/NONE meta-class crashes named in the NOTIFY/UPDATE/recursion paths, affecting the very widely deployed 9.18 branch) (ISC, 2026-05-20).
No in-the-wild exploitation or public PoC is reported for any of these as of the advisories. They earn § 2 placement on the combination of CVSS-9.8 pre-auth memory-safety reach and the ubiquity of these resolvers across EU/CH government, ISP and critical-infrastructure DNS. Detection is limited to crash telemetry — unbound / named dying with SIGSEGV/SIGABRT in dnssec_* or http_* / isc_tls_* frames, or named crashing immediately after a CHAOS/HESIOD/ANY-class query. Patch recursive and authoritative infrastructure to Unbound 1.25.1, BIND 9.18.49 or 9.20.23.
CVE Summary Table
| CVE | Product | CVSS | EPSS | KEV | Exploited | Patch | Source |
|---|---|---|---|---|---|---|---|
| CVE-2026-48172 | LiteSpeed User-End cPanel plugin | 10.0 | n/a | No | Yes (ITW) | plugin v2.4.7 / WHM v5.3.1.0 | LiteSpeed |
| CVE-2026-33278 | NLnet Labs Unbound | 9.8 | n/a | No | No | Unbound 1.25.1 | NLnet Labs |
| CVE-2026-42944 | NLnet Labs Unbound | 7.5 | n/a | No | No | Unbound 1.25.1 | NLnet Labs |
| CVE-2026-3593 | ISC BIND 9 (DoH) | 7.4 | n/a | No | No | BIND 9.20.23 | ISC |
| CVE-2026-5946 | ISC BIND 9 | 7.5 | n/a | No | No | BIND 9.18.49 / 9.20.23 | ISC |
3. Research & Investigative Reporting
Deleted Google Cloud API keys keep authenticating for up to 23 minutes
Aikido Security researcher Joe Leon published findings (2026-05-21, updated 2026-05-22) showing that deleted Google Cloud API keys continue to authenticate API requests for a median of ~16 minutes and up to ~23 minutes, measured across 10 controlled trials against Gemini, BigQuery and Maps APIs (Aikido, 2026-05-21). By contrast, Google service-account keys revoke in ~5 seconds and Gemini-specific keys in ~1 minute. The root cause is eventual consistency in GCP's IAM credential-propagation layer: deletions propagate gradually across distributed authorisation servers rather than atomically. Google first closed the report as "Won't Fix (working as intended)" before reopening it as a P0 after public disclosure (Aikido, 2026-05-21).
Why it matters to us: Key rotation/revocation is the reflexive first containment step in most cloud IR runbooks, and this breaks the assumption that it is immediate. An attacker holding a stolen key retains a usable window to exfiltrate BigQuery datasets, run Gemini inference, or query Maps billing after the defender believes the key is dead. For any CH/EU public-sector tenant on GCP, treat API-key deletion as a ~30-minute containment action: delete to start the clock, then monitor Cloud Audit Logs for post-deletion use of the key, and — for GDPR Art. 33 / Swiss DSG Art. 24 purposes — count the full post-deletion window as continued exposure when the key reached PII. Where viable, prefer service-account keys (near-instant revocation). Maps to ATT&CK T1550.001 (Application Access Token).
Atos TRC: "hardware-gated" Windows drivers can be made BYOVD-exploitable in software
Research from the Atos Trusted Research Center (referenced by NDSS Symposium 2026 paper 2026-s1491), resurfaced in in-window reporting on 2026-05-22, argues that a large class of Windows kernel-mode drivers previously treated as BYOVD-resistant — because triggering their vulnerable IOCTL paths supposedly required physical hardware — can be made fully exploitable without that hardware (The Hacker News, 2026-05-22). Three techniques remove the gate: binding a PnP driver's AddDevice callback to a software-emulated device with an attacker-chosen hardware ID (via SetupAPI / the Software Device API); filter-driver restacking on disk/storage device stacks to bind otherwise-unloadable drivers; and direct registry manipulation under HKLM\SYSTEM\CurrentControlSet\Control\Class to associate a vulnerable driver with an existing device object. The write-up frames these against real-world example drivers to show IOCTL code paths reachable without the assumed hardware (Atos TRC, 2026-04-17).
Why it matters to us: BYOVD is a staple kernel-level EDR-bypass technique for ransomware affiliates and APTs operating against EU/CH targets, and this work expands the effective LOLDrivers attack surface — vulnerable-driver blocklists that implicitly assume a hardware prerequisite need re-evaluation. Hunt HKLM\SYSTEM\CurrentControlSet\Control\Class writes to UpperFilters/LowerFilters/ClassFilters from non-SYSTEM processes (Sysmon EID 13), driver-load events (Sysmon EID 6) for drivers loaded from user-writable paths, and streaming/thunk-class kernel drivers loaded by a non-system process. Hardening: enforce the Microsoft Vulnerable Driver Blocklist (WDAC) and HVCI/Memory Integrity, and re-test blocklist coverage against these hardware-gate-bypass techniques. ATT&CK T1068, T1014, T1562.001.
4. Updates to Prior Coverage
UPDATE: npm ships 2FA-gated "staged publishing" GA in response to the 2026 supply-chain worm waves
UPDATE (supply-chain worm wave, originally covered 2026-05-23): GitHub announced on 2026-05-22 that npm staged publishing is now Generally Available — a maintainer must run
npm stage publish(npm CLI 11.15.0+), which uploads the version to a consumer-invisible staging queue, then pass a separate 2FA challenge to approve the release before it becomes installable (GitHub Changelog, 2026-05-22). This directly targets the automated mass-publish pattern behind the Megalodon GitHub-repo campaign (covered 2026-05-23) and the earlier mini-shai-hulud / TeamPCP npm waves, where many malicious versions were pushed in seconds via compromised maintainer sessions — a human-in-the-loop 2FA gate would have broken that tempo.The same release adds three install-source restriction flags —
--allow-file,--allow-remoteand--allow-directory(eachall|none) — letting CI/CD pipelines forbid installs from remote URLs or local paths, the vectors abused in several 2026 dependency-confusion and supply-chain campaigns (The Hacker News, 2026-05-23). For CH/EU public-sector development teams, the operational action is to enable staged publishing on org-owned packages and set--allow-remote none/--allow-directory nonein production CI.
5. Deep Dive — Packagist supply-chain wave: Laravel-Lang autoloader backdoor and the cross-ecosystem postinstall strand
Background. The 2026 software supply chain has absorbed a sustained run of registry- and repo-level compromises — the mini-shai-hulud / TeamPCP npm/PyPI worm, the Megalodon GitHub-repo backdooring campaign (covered 2026-05-23), and the actions-cool/issues-helper GitHub Action and nx-console VS Code extension compromises (covered 2026-05-20). Those targeted npm, PyPI and CI tooling; the Packagist (PHP/Composer) ecosystem had largely escaped. Between 2026-05-22 and 2026-05-23 that changed, in two technically distinct, concurrent strands with different delivery mechanics — each flagged within hours by Socket, Aikido and StepSecurity (Socket, 2026-05-23). Socket reports the postinstall strand alone spans 700+ associated GitHub repositories under common attacker infrastructure (Socket, 2026-05-22); whether a single operator runs both strands is not established by the cited reporting.
Strand 1 — Laravel-Lang tag rewrite + autoloader backdoor. An actor with organisation-level push access to the Laravel-Lang GitHub org rewrote more than 700 historical version tags across four community PHP localisation packages — laravel-lang/lang (~7.8k stars), laravel-lang/http-statuses, laravel-lang/attributes, laravel-lang/actions. Rather than committing to the canonical repos, the attacker pointed existing version tags at commits in attacker-controlled forks, so the malicious code never appears in the main repository's commit history (StepSecurity, 2026-05-22). The injected src/helpers.php is registered under each composer.json's autoload.files key. Because every Composer application executes require __DIR__.'/vendor/autoload.php' at boot — Laravel, Symfony and PHPUnit included — the backdoor runs on every request with no post-install step required. A per-host MD5 fingerprint (directory path + architecture + inode) makes the payload fire once per machine to evade redundant-execution detection. The dropper builds its command-and-control hostname at runtime from character-code arrays (array_map('chr', …)) to defeat static string analysis, disables TLS certificate verification, spoofs a browser User-Agent, and fetches a ~5,900-line PHP credential stealer, which it writes to a hidden temp file and runs via exec("php …") on Unix or a VBScript-plus-cscript chain on Windows (Socket, 2026-05-23). The stealer is organised into fifteen collector modules targeting saved passwords from multiple Chromium-based browsers, Google Cloud application-default credentials, Docker auth tokens, SSH private keys, Git credentials (.gitconfig, .git-credentials, .netrc), shell and database history, kubeconfig, .env, wp-config.php, docker-compose.yml, VPN configurations, cryptocurrency wallets and password-manager vaults; results are AES-256-encrypted, exfiltrated, and the stealer self-deletes (Aikido, 2026-05-23).
Strand 2 — eight packages, cross-ecosystem postinstall. A concurrent campaign poisoned eight Packagist packages — devdojo/wave, devdojo/genesis, katanaui/katana, elitedevsquad/sidecar-laravel, r2luna/brain, baskarcm/tzi-chat-ui, moritz-sauer-13/silverstripe-cms-theme and crosiersource/crosierlib-base — by inserting a malicious hook into package.json (not composer.json) scripts.postinstall (Socket, 2026-05-22). The cross-ecosystem placement is deliberate: teams auditing PHP/Composer dependencies routinely skip the package.json lifecycle hooks bundled alongside JS build tooling. The hook downloads a Linux ELF from a code-hosting release URL, writes it to a hidden executable file under /tmp masquerading as an SSH daemon (e.g. /tmp/.sshd), marks it executable and launches it in the background with TLS verification suppressed and error output silenced (The Hacker News, 2026-05-23). The eight span CMS themes and developer libraries — including a SilverStripe CMS theme (moritz-sauer-13/silverstripe-cms-theme) and the crosiersource/crosierlib-base library — so the blast radius reaches any PHP project that pulled them as a direct or transitive dependency.
Kill chain → MITRE ATT&CK. Initial access and execution map to T1195.002 (Compromise Software Supply Chain) and T1059.004 (Unix Shell, via exec/postinstall); the runtime C2-hostname assembly and AES-256 output to T1140 (Deobfuscate/Decode Information); the /tmp/.sshd naming to T1036.005 (Masquerading: Match Legitimate Name or Location); the stealer's harvesting to T1552.001 (Credentials in Files) and T1083 (File and Directory Discovery); and the JS-side delivery to T1204.002 (User Execution: Malicious File).
Detection concepts (no IOCs). Audit composer.lock for any of the four laravel-lang/* packages at versions tagged in the 2026-05-22 → 2026-05-23 window, and for the eight named Strand-2 packages. Flag any autoload.files entry introduced by a version-tag change that has no counterpart in the package's upstream git history, and treat any scripts.postinstall / scripts.preinstall hook inside a PHP-only Composer package as a high-fidelity anomaly. On hosts and CI runners, hunt (Sysmon EID 1 / Linux auditd) for web-server worker processes (php-fpm, php-cgi, apache2, nginx) spawning exec("php …") or cscript.exe, for composer/npm spawning shells or initiating network connections during install, and for an executable hidden file under /tmp resembling sshd. Egress monitoring: outbound HTTPS from PHP worker processes during autoload, and installs pulling binaries from code-hosting release CDNs during composer/npm install.
Hardening. Run composer audit (Composer 2.6+), pin exact dependency versions, and verify composer.lock hash integrity in CI. Review whether organisation-level GitHub token scoping permits tag rewrites across all repositories and rotate admin tokens if compromise is suspected. On any affected host, treat all secrets reachable by the PHP worker process — cloud keys, SSH keys, .env, Git tokens — as compromised and rotate aggressively. For the JS-tooling surface, adopt npm's new staged-publishing 2FA gate and --allow-remote none / --allow-directory none install controls (see § 4). Note that Packagist removed the malicious versions, but development branches stay infected while upstream GitHub repos remain compromised — verify upstream state before reinstalling any of the named packages.
6. Action Items
- Patch LiteSpeed cPanel plugin now if exposed — upgrade to plugin v2.4.7 / WHM v5.3.1.0, or disable the plugin until patched; CVE-2026-48172 is actively exploited (§ 2). Hunt cPanel access logs for
cpanel_jsonapi_func=redisAblefrom non-administrative accounts (LiteSpeed, 2026-05-21). - Audit Composer dependencies for the Packagist wave — check
composer.lockforlaravel-lang/{lang,http-statuses,attributes,actions}at 2026-05-22/23 tags and for the eight named Strand-2 packages; on any affected host treat all PHP-worker-reachable secrets (cloud keys, SSH,.env, Git tokens) as compromised and rotate (§ 5) (Socket, 2026-05-23). - Patch recursive/authoritative DNS — upgrade to Unbound 1.25.1 and ISC BIND 9.18.49 / 9.20.23; monitor
unbound/namedfor crash telemetry in the interim (§ 2) (NLnet Labs, 2026-05-20). - Revise GCP incident-response runbooks — treat API-key deletion as a ~30-minute containment action, not an immediate one; monitor Cloud Audit Logs for post-deletion key use and prefer service-account keys where viable (§ 3) (Aikido, 2026-05-21).
- Inventory outsourced-billing data exposure (healthcare) — identify which third-party processors hold GDPR Art. 9 data, confirm Art. 32 measures, and hunt for large outbound transfers from billing/ERP systems with no inbound job trigger (§ 1) (The Record, 2026-05-22).
- Harden the npm side of CI — enable staged publishing on org-owned packages and set
--allow-remote none/--allow-directory nonein production pipelines (§ 4) (GitHub Changelog, 2026-05-22). - Re-test the Windows Vulnerable Driver Blocklist against the Atos TRC hardware-gate-bypass techniques; enforce WDAC + HVCI and hunt
Control\Classfilter-key writes from non-SYSTEM processes (§ 3) (The Hacker News, 2026-05-22).
7. Verification Notes
- Items dropped (with reason):
- NGINX CVE-2026-9256 — medium-severity heap buffer overflow in
ngx_http_rewrite_module; no in-the-wild exploitation or public PoC, vendor-rated medium, and a sibling rewrite-module bug (CVE-2026-42945) was already covered 2026-05-18. Held below the § 2 inclusion gate. - Stormshield SNS CVE-2025-9086 (CERTFR-2026-AVI-0631, 2026-05-22) — remote denial-of-service only, single-source CERT-FR relaying Stormshield bulletin 2026-010. DoS-only with no code-execution path described; below the § 2 operational threshold despite the ANSSI-certified-firewall public-sector relevance.
- The Oncology Institute (NASDAQ: TOI) SEC 8-K Item 1.05 (2026-05-22) — US/indirect nexus; the primary SEC EDGAR filing URL returns HTTP 403 to automated fetch and only an aggregator summary (Minichart) was reachable. Held out on source-quality and less-is-more grounds; the two-stage disclosure pattern (Nov-2025 Item 7.01 → confirmed patient-data access six months later) is noted for GDPR Art. 33 materiality-benchmarking interest.
- NGINX CVE-2026-9256 — medium-severity heap buffer overflow in
- Reduced confidence: the BYOVD-without-hardware research (§ 3) rests on an Atos TRC write-up dated 2026-04-17 (~5 weeks before window), surfaced by in-window reporting (The Hacker News, 2026-05-22, both referencing NDSS Symposium 2026 paper 2026-s1491); included as MEDIUM confidence. Specific demonstrated-driver names were not retained because the primary's detailed body could not be re-verified in this run; the NDSS PDF was not machine-parseable and is not cited.
- Attribution — Unimed breach left open: all cited sources report the Unimed-breach perpetrator as unknown (heise: "It is not yet known who is responsible"; The Record: no actor publicly claimed responsibility). The Kairos / Hannover-Police attribution carried by heise applies to the separate ARWINI Lower-Saxony statutory-billing breach (covered 2026-05-19), not Unimed. The brief therefore leaves Unimed attribution open and presents the ARWINI resemblance explicitly as an analyst pattern observation rather than a sourced attribution.
- Scope (Unimed breach): the brief names the six university hospitals that issued individual disclosures (Cologne, Freiburg, Heidelberg, Tübingen, Ulm, Mannheim); heise and The Record indicate the affected set is larger (on the order of nine institutions), with further notifications likely given Unimed's broad hospital footprint.
- Source divergence (deep dive): Socket enumerates the Laravel-Lang stealer as ~17 collector classes with XOR obfuscation; Aikido describes 15 modules with AES-256 encryption. The brief follows the Aikido figures (cited inline); the divergence does not change the defender takeaway.
- No-IOC handling: the Laravel-Lang dropper's runtime-assembled C2 hostname was omitted per no-IOC policy; the deobfuscation behaviour is described instead. The
/tmp/.sshdmasquerade is retained as a host-based hunt concept (local path, not an attacker-controlled domain/URL). - Single-source items: none admitted to §§ 1–5 (all multi-source); the dropped Stormshield item was the only single-source candidate.
- Candidate sources: 2 surfaced, 1 admitted per the one-per-run cap. Added
ccb-belgium(Centre for Cybersecurity Belgium — Belgian national CERT; contributed the corroborating Unbound advisory this run). Held as overflow for a future run:vulnerability-circl-lu(CIRCL Luxembourg CVE lookup / EU-centric advisory cross-reference). - Stalled sub-agents: none — S1–S4 all returned within the 30-minute budget.
- Coverage gaps: sophos-xops (HTTP 503, 6th consecutive run); trendmicro-research (HTTP 500, 3rd run); databreaches-net (HTTP 403, no usable Wayback snapshot); inside-it-ch (Cloudflare managed challenge on bridge); cert-eu (no new advisory in window beyond 2026-006); cert-fr-actualite (ACT feed stale since CERTFR-2025-ACT-049, 2025-11); darkreading (per-article 403, no Wayback); cnil-fr (no new in-window decision); edpb (120th plenary scheduled 2026-05-28); ico-uk (no new in-window enforcement beyond already-covered POCA action); sec-disclosures-edgar (direct filing pages 403, bridge used).