critical

CVE

CVE-2026-33264, CVE-2026-54174

CWE

CWE-506, CWE-522, CWE-200, CWE-494, CWE-829, CWE-502, CWE-345, CWE-354

Affected Surface

  • Developer workstations, CI runners, and release pipelines that installed or imported the week's compromised npm, NuGet, PyPI, or Go artifacts
  • Payment and wallet applications that processed live card data, merchant credentials, mnemonic phrases, or private keys through the poisoned Braintree.Net or Injective release paths
  • Apache Airflow deployments before 3.3.0 where lower-trust DAG authors can influence serialized trigger state loaded by higher-trust Scheduler or API Server processes
  • OCI image-build and APK-based packaging pipelines that used apko before 1.2.9 or melange before 0.50.4 across mirrors, caches, or network paths that could be tampered with

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, 8 July through Tuesday, 14 July 2026, excluding items already covered in the 7 July briefing.

Top Article

Compromised jscrambler npm releases escalated from preinstall dropper to import-time Rust infostealer

This week’s most important story is jscrambler, because the attacker improved the same incident while it was unfolding. StepSecurity deserves early public-disclosure credit for catching the malicious preinstall binary, Socket deserves credit for tracing the later import-time and CLI execution path, and Jscrambler deserves credit for quickly publishing the clean 8.22.0 line and incident advisory. That evolution makes this a close cousin of the Rollup polyfill import-time RAT chain, the Injective wallet-key SDK compromise, and the PolinRider cross-ecosystem wave: the dangerous code no longer needs to live in a loud lifecycle hook to reach a privileged developer or CI host.

The key thing to remember is not just the five poisoned versions. It is the attacker’s decision to move from install time into normal package import and CLI use, which defeats the still-common assumption that --ignore-scripts or lifecycle-hook scanning is enough. Because the Rust payload targeted browser data, cloud credentials, wallet extensions, AI tooling state, and package tokens, teams should read jscrambler as a broad workstation and build-pipeline compromise with the same trust-boundary implications we saw in the GitHub workstation breach via a poisoned VS Code extension and GlassWASM’s Open VSX Solana extension campaign.

More news

Braintree.Net on NuGet skims live card data, merchant keys, and host secrets in production

This deserves close attention because it turned a payment-SDK typosquat into a live production skimmer. Socket deserves first public-disclosure and reverse-engineering credit for mapping the malicious NuGet versions and the DependencyInjector.Core companion harvester, while NuGet’s package removal confirms the package was not just suspicious metadata. In practical terms, this belongs in the same family as the week’s Paysafe, Skrill, and Neteller typosquat wave and the earlier art-template npm iOS exploit-kit incident: attackers are winning by looking enough like normal SDK glue that merchants and CI systems hand them secrets willingly.

The operational lesson is that the implant stayed quiet where defenders usually look first. Card and merchant-key theft were gated on Braintree’s production mode, while the module-initializer harvester could still sweep environment variables and raw config files as soon as the assembly loaded. That combination makes Braintree.Net more than a fake package story; it is a direct PCI, credential, and host-compromise problem that should be triaged alongside Injective’s wallet-secret theft and the recent payment-integration lure cluster.

Injective’s 1.20.21 npm release turned wallet key derivation into mnemonic and private-key exfiltration

This is the other supply-chain story subscribers should not miss, because the backdoor sat on the exact runtime paths that touch root wallet secrets. StepSecurity deserves discovery and provenance-analysis credit for tracing the compromised maintainer path and release timeline, while Socket deserves credit for the broader public package-analysis write-up and Injective deserves credit for the rapid 1.20.23 cleanup. The pattern reads like a more targeted counterpart to jscrambler’s import-time compromise and the earlier Rollup polyfill loader chain: the package stays quiet during install, then steals the secrets that only exist during normal application execution.

What makes this incident especially important is the camouflage. The malware reconstructed an Injective-branded endpoint at runtime, hid exfiltrated mnemonic or private-key material in an X-Request-Id header, and preserved normal wallet behavior so teams could miss the theft while the SDK kept functioning. That is the same “trusted runtime path” lesson behind CVE-2026-12481 in Keras and CVE-2026-41242 in protobufjs: once lower-trust data or dependencies reach a powerful execution boundary, the application’s normal code paths become the exfiltration point.

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.