October's Edge-Device Exploits and the BOD 26-04 Patching Model
Ivanti, PAN-OS and Cisco flaws were exploited in October 2026. Here's how CISA's BOD 26-04 risk model sorts them, and what to do this week.
How a leaked key and stolen tokens put credential-stealing malware into LiteLLM's official release, and what to check in your own pipelines.
On October 21, a malicious version of LiteLLM, the open-source gateway many teams use to route application traffic to large language model providers, was published to PyPI, Docker Hub and GitHub Container Registry. According to the maintainers, litellm==1.107.0 "contained compiled malware which steals credentials and loads remote-code execution tools." The PyPI wheels were live for about an hour and 43 minutes; the Docker Hub tags, including latest, pointed to the compromised image for about two and a half hours.
Short windows matter less than they sound for a package this widely used. BleepingComputer puts LiteLLM at about 92 million monthly PyPI downloads. And this was the project's second compromise of 2026: in March, a separate attack published backdoored versions after a CI/CD dependency was poisoned. On October 23, LiteLLM published a detailed account of how the attacker got in this time. It is worth reading closely, because almost every step is something that could happen in any engineering organization, whether or not it runs AI workloads.
LiteLLM's attack-chain post, which it calls the canonical record (it corrects parts of the first incident post), describes a chain of small gaps:
Berri-AI instead of BerriAI.Notably, the first incident post says LiteLLM had already hardened its pipeline after March, including Trusted Publishers, immutable Docker tags and signed images. Those controls did not stop the attack, because the attacker ran the project's own release pipeline. The artifacts were produced by the legitimate process, from attacker-chosen source.
An LLM gateway sits in front of every model provider an organization uses, so it tends to hold exactly the secrets an attacker wants. JFrog's analysis of the malicious wheels shows the stealer went after cloud credentials for AWS, Azure and Google Cloud, Kubernetes tokens, SSH and GPG keys, CI/CD and Terraform secrets, browser data, credentials for AI development tools, and every readable process environment on Linux. It also read LiteLLM's own proxy database tables holding stored provider credentials and model settings. LiteLLM says the attacker's activity on other systems was aimed at "upstream inference API tokens."
The delivery mechanism is also worth understanding. The wheels added a cook.pth file that Python executes at interpreter startup, so, as JFrog notes, the payload "can run even when an application never imports litellm." A sitecustomize.py file started a detached process that checked a GitHub-hosted pointer every hour and could download and run more code. Stolen data was encrypted and sent to a lookalike domain. One practical consequence: running pip or Python inside an affected environment to investigate it re-runs the malware.
LiteLLM says users were affected if they ran an unpinned pip install during the PyPI window or ran the affected Docker images during their windows. Customers pulling from LiteLLM's private enterprise registry were not affected, and all versions before 1.107.0 are described as safe. The maintainers and JFrog give consistent guidance for anyone exposed:
cook.pth, cook.py, sitecustomize.py and their compiled files using tools that don't launch the affected interpreter, and stop the detached Python process.1.106.2 as the clean version.GetCallerIdentity calls from the instance role around install time, and for those credentials being used from outside your infrastructure. JFrog adds DNS and proxy log searches for the exfiltration domain.Most organizations don't publish packages to PyPI, but nearly all of them consume open-source packages and run CI/CD pipelines with powerful tokens. The LiteLLM chain maps cleanly onto those environments.
Deleting a file does not remove it from Git history, and the key in this case stayed valid for more than four months. A leaked credential should be treated as compromised the moment it is found: revoke, rotate and confirm, then clean up history.
An agent platform stored an organization owner's personal OAuth token, and one API call exposed it. Automation should run on its own narrowly scoped, short-lived identities, and no workload should hold a token that can change organization-wide security settings.
The attacker didn't need to break into a secrets manager; they ran workflows that sent secrets out. Limit which identities can create or dispatch workflows, scope secrets to the environments and branches that need them, and restrict outbound network access from build runners where you can.
Two-person rules assume two different people. When approval tokens can be stolen, require phishing-resistant authentication for release approvals, alert on branch-protection overrides and force-pushes to release branches, and send audit logs somewhere a compromised admin can't delete them.
Only unpinned installs and mutable tags like latest picked up the malicious release automatically. Pinning dependency versions with hashes, deploying container images by digest, and adding a short delay before adopting brand-new releases all reduce exposure to a compromise that is caught within hours. BleepingComputer reports several security firms flagged this release within minutes; a cooling-off period lets that detection work for you.
litellm, and confirm nothing ran 1.107.0. If anything did, follow the response steps above.The LiteLLM compromise didn't rely on a novel exploit. It chained a leaked key nobody revoked, a human token stored where automation could reach it, and release controls that trusted any valid credential. AI infrastructure concentrates valuable secrets, which makes those ordinary gaps more expensive. Baygramm's cybersecurity team helps organizations assess software supply-chain exposure and respond to credential compromise, our DevOps practice helps harden CI/CD pipelines and secrets handling, and our AI agents team helps design agent platforms with scoped, auditable identities. If you're not sure what your AI gateway can reach, talk to us.
Tell us where you are and what you're trying to get done. We'll tell you honestly how we can help.
Ivanti, PAN-OS and Cisco flaws were exploited in October 2026. Here's how CISA's BOD 26-04 risk model sorts them, and what to do this week.
Google's Gemini agent and Copilot Studio agent accounts give AI agents mailboxes and directory identities. What changed and how to govern them.
AWS Continuum for code vulnerabilities is now GA. How its exploit validation and pull-request fixes work, what it costs, and how to pilot it.