critical

CVE

CVE-2026-73416, CVE-2026-73627, CVE-2026-73626

CWE

CWE-178, CWE-180, CWE-295, CWE-494, CWE-506, CWE-522

Affected Surface

  • Ruby developer workstations that installed the 15-16 August StubMaker typosquat gems and triggered `extconf.rb` during installation
  • Teams still assessing the downstream credential exposure from the malicious `litellm` PyPI releases `1.82.7` and `1.82.8`
  • JupyterLab and Notebook v7+ deployments that expose the PyPI Extension Manager and rely on blocklists or plugin locks as hardening controls

Welcome to Corgea’s weekly briefing. The briefing covers the most important security findings and research from the week.

This edition covers research published from Wednesday, 12 August through Tuesday, 18 August 2026, excluding items already covered in the 11 August briefing.

Top Article

StubMaker: RubyGems extconf.rb typosquats delivered a Windows infostealer

OpenSourceMalware deserves first public-disclosure and reverse-engineering credit for StubMaker. It leads the week because it turns a normal RubyGems build step into the initial malware runtime. The malicious brumdler and brundlef typosquats did not rely on a noisy postinstall hook. They abused extconf.rb, wrote empty build artifacts so the install still looked normal, and then pulled a Windows-focused infostealer chain that targeted browser secrets, wallet material, and Telegram data.

Read it beside SleeperGem, AsyncAPI’s require-time compromise, and the broader ChainDrop keyv / cacheable worm. All four stories point at the same boundary shift: the dangerous moment is not only package publication or installation, but any trusted code path a package manager, runtime, or build tool agrees to execute on a developer machine.

More news

LiteLLM’s March PyPI compromise maps to 434,000 CI/CD pipelines

CloudSEK deserves credit for tying the March litellm compromise to roughly 434,000 CI/CD pipelines, and StepSecurity deserves credit for the follow-on secret-exposure analysis that kept the TeamPCP connection grounded in real environment impact. The key point for defenders is to separate the directly malicious artifacts, litellm==1.82.7 and 1.82.8, from the much larger reconstructed exposure set. Even with that nuance, the incident is still a reminder that a short package-compromise window can leave a long credential-response tail across runners, caches, and developer hosts.

It is worth reading with TeamPCP’s earlier CI and workstation campaign, the TanStack supply-chain compromise, and the later keyv/cacheable worm path. The shared lesson is that once a package lands near publish credentials, cloud keys, or AI-provider tokens, the next compromise may happen downstream rather than in the package you first spotted.

CVE-2026-73416 and CVE-2026-73627: JupyterLab extension-manager bypasses

JupyterLab contributor rexpository deserves reporter credit for the blocklist canonicalization and plugin lock-rule bypass advisories, while MUFFANUJ and krassowski deserve patch and coordination credit for the fixes. This is the week’s quiet but important governance story: blocklists compared the wrong package-name form, /lab/api/plugins left gaps in lock enforcement, and one PyPIExtensionManager.install() path failed open because it missed an await.

It belongs beside NLTK downloader poisoning, GitPython’s clone-option gate bypass, and PyPI’s 9-10 August malware pulse. The common pattern is simple: teams think policy exists at one layer, but the underlying package or execution path still gives hostile input a way through.

Other news:

From research to remediation

Check whether this pattern exists in your codebase

Turn this research into a remediation workflow. Scan dependencies and package manifests for similar supply-chain risk, then prioritize fixes with reachability context.