Konfirmity
All security advisories

//security advisory

Device Security Checklist: October 2026 Advisories

Several security issues were disclosed between 17 and 22 October 2026. Most of the risk sits with servers, but some of it reaches the laptops and phones people work on. For most people, updating and restarting is enough. Developers have more to check, starting with the malicious LiteLLM release.

On this page
  1. Who needs to act
  2. For everyone
  3. For developers
  4. If you find LiteLLM 1.107.0
  5. What this page leaves out
  6. FAQ
  7. Sources

Who needs to act

Several security issues were disclosed between 17 and 22 October 2026. Most of the risk sits with servers, but a few reach laptops and phones directly. Find yourself below, then work through the matching checklist.

  • You use a laptop, desktop or phone

    Windows, macOS, iPhone, iPad, Android or Linux

    Update needed

    Install pending system, browser and app updates, then restart. Most devices are already protected once they are up to date. The 10-minute checklist

  • Your Firefox has remote blocklist updates turned off

    Usually set by an IT policy on managed computers

    Update needed

    Update to Firefox 158.0.1, ESR 115.43.1 or ESR 153.5.1 or later. Standard Firefox has been protected since 17 October.

  • You write or run code on your own machine

    Python, Node.js, Go, Rust, PHP, Docker or Homebrew

    Update needed

    Runtimes and tools keep their own trusted certificates, and system updates do not reach them. The developer checklist

  • You installed Python packages on 21 October

    Especially anything AI-related: DSPy, CrewAI, smolagents and others

    Act now

    Check for the malicious LiteLLM 1.107.0 release first, without starting Python. How to check safely

For everyone: about 10 minutes

Browsers and operating systems block the compromised eMudhra certificates automatically. Keeping them updated is what protects you.

  1. Update your operating system and restart

    How to update each operating system
    DeviceWhat to do
    WindowsSettings > Windows Update > Check for updates. Install everything and restart.
    macOSSystem Settings > General > Software Update. Install and restart.
    iPhone and iPadSettings > General > Software Update. Install and restart.
    AndroidRestart your phone. The certificate block arrives through Google Play Services and a restart applies it immediately. Then install any pending system updates.
    Linux desktopInstall all updates, including the ca-certificates package, and restart.
  2. Update your browser

    What each browser needs
    BrowserWhat to do
    Chrome, Edge, SafariNothing beyond normal updates. Chrome blocked the certificates on 17 October without needing a restart.
    FirefoxProtected on standard settings since 17 October. If you or your IT team have turned off remote blocklist updates, update to Firefox 158.0.1, ESR 115.43.1 or ESR 153.5.1 or later.
  3. Update your desktop apps

    Many desktop apps, such as chat, note-taking and code editors, are built on Electron, which ships its own copy of Node.js and its own certificate checks. Fixed Electron versions are out, but each app only gets them when its maker releases an update. Open each app and install any available update, or let your app store update them all.

  4. Update Cloudflare WARP or the 1.1.1.1 app, if you use them

    Upgrade the Cloudflare One Client (WARP) to 2026.8.2115.0 or later on desktop. Update the mobile apps from the App Store or Google Play.

  5. Optional: check that your browser rejects the bad certificates

    Open the two test pages below. A certificate or security warning means you are protected. If either page loads normally, update your operating system and browser and try again. Do not click through the warning.

For developers and anyone who runs code locally

Developer laptops carry their own runtimes and certificate stores, which operating system updates do not touch. Start with LiteLLM: it is the only item here where the damage may already be done.

1. Check for the malicious LiteLLM release (urgent)

litellm version 1.107.0 contained malware that steals credentials. It was available on PyPI and Docker on 21 October 2026 for about two hours. It may also have arrived as a dependency of DSPy, CrewAI, smolagents, langchain-litellm, llama-index-llms-litellm, Open Interpreter, Guardrails AI and others.

Run these from a terminal on macOS or Linux. Do not run python, pip, uv run or anything else that starts Python to check. Starting Python in an affected environment runs the malware again.

Terminal
# Run from a shell. Do not start Python or pip to check.
find / -path '*-packages/litellm-1.107.0.dist-info' -type d 2>/dev/null
find / -path '*-packages/cook.pth' -type f 2>/dev/null
ls -la /tmp/.pc_once_72129118c59f5636c0bb /tmp/remote_code_loader.lock 2>/dev/null
docker images --digests | grep -E '1bbcb1443bc9|c00f9d92c427|7b00e91cd2fe'

Also search your projects’ lockfiles:

Project folders
# Run from the folder that holds your projects
grep -rnE 'litellm(\[[^]]*\])? *(==|-) *1\.107\.0([^0-9a-z]|$)' .

If any of these return a result, stop and go to what to do if you find it. If nothing turns up and you use LiteLLM, pin it to litellm==1.106.2.

Full indicators, Kubernetes checks and how the malware works are in the LiteLLM advisory.

2. Update Node.js

Terminal
node --version

You need 22.23.4, 24.22.1 or 26.12.1, or later in the same line. Node.js 20 and older receive no fix, so move to 22 or 24. If you use a version manager such as nvm, fnm, volta or mise, install the fixed version and make it your default. Pull fresh node Docker images and rebuild local images.

If a project depends on the undici package directly, upgrade that package too.

The ten vulnerabilities and fixed versions are covered in the Node.js advisory.

3. Update certificate bundles in your tools

These tools bring their own list of trusted certificates and need updating separately.

Developer tools with their own certificate bundles
ToolFixed in
Python certifi2026.10.19
pip26.2.2
uv0.13.4
botocore (AWS SDK for Python)1.43.117
GoRebuild with 1.26.10 or 1.27.3
Rust webpki-roots / rustls-webpki1.0.10 / 0.103.16
Electron (if you build Electron apps)44.9.1, 43.8.1 or 42.11.16
Homebrew ca-certificatesbrew upgrade ca-certificates
cloudflared2026.10.2

Check that a tool rejects the bad certificate. An error means you are protected.

Terminal
curl -sS -o /dev/null https://dv-g3b-emudhra.we-have-a-problem.com/ && echo "STILL TRUSTED"

On a Mac: the built-in curl and other command-line tools read /etc/ssl/cert.pem, which Apple’s update does not cover. If the check above prints STILL TRUSTED, this removes the two affected roots and keeps a backup. A later macOS update may restore the file.

macOS
sudo cp /etc/ssl/cert.pem /etc/ssl/cert.pem.bak &&
awk '/^(###|===) /{skip=0}
  /^=== .*\/CN=(AAA Certificate Services|emSign ECC Root CA - G3)$/{skip=1}
  !skip' /etc/ssl/cert.pem.bak | sudo tee /etc/ssl/cert.pem > /dev/null

Tests for Node.js and Python, and trust store fixes for Linux, are in the eMudhra advisory.

4. Update PHP, if you run it locally

PHP used only on the command line is low risk, so update it with your next routine patch. If you serve anything with a local PHP web server that others can reach, update now to 8.5.12, 8.4.27, 8.3.36 or 8.2.35. On Homebrew, run brew upgrade php.

Patched packages for each distribution are in the PHP2Shell advisory.

If you find LiteLLM 1.107.0

Removing the package does not undo the theft. The credentials on the machine are what matter.

  1. Disconnect the machine and stop working on it

    Take it off the network. Do not start Python on it again.
  2. Tell your IT or security team

    Do it before you try to clean anything up, so they can see the machine as the malware left it. If you have no security team, follow the clean-up steps in the LiteLLM advisory, and plan to rebuild the environment rather than repair it.
  3. Change passwords and keys from a clean device

    Use a different device, then sign out of active sessions. The malware takes:

    • Passwords and cookies saved in your browser
    • Cloud credentials for AWS, Google Cloud and Azure
    • SSH and GPG keys
    • GitHub, npm and PyPI tokens
    • .env files
    • Logins for AI coding tools such as Claude Code, Codex, Gemini CLI, Cursor and Copilot

The full list of secrets to rotate, and how to remove the startup files, is in the LiteLLM advisory.

What this page leaves out

This checklist is for the devices people use. Servers, containers and cloud workloads need more, and each issue has its own advisory.

Device checklist FAQ

Short answers. The sections above have the detail and sources.

Do I need to do anything about the eMudhra compromise on my phone or laptop?

Install pending updates and restart. Chrome, Firefox, Android, Apple and Microsoft platforms block the compromised certificates on their own. On Android, a restart applies the block immediately. You can confirm by opening the eMudhra test pages: a certificate warning means you are protected.

Why do desktop apps need updating separately?

Many desktop apps are built on Electron, which ships its own copy of Node.js and its own certificate checks instead of using the operating system's. Electron 44.9.1, 43.8.1 and 42.11.16 block the compromised certificates, but each app only gets the fix when its maker ships an update built on one of them.

How do I check for LiteLLM 1.107.0 without running it?

Search from a shell, not from Python. Look for a litellm-1.107.0.dist-info folder or a cook.pth file in any site-packages folder, the files /tmp/.pc_once_72129118c59f5636c0bb and /tmp/remote_code_loader.lock, and litellm 1.107.0 in your lockfiles. Running python, pip or uv run in an affected environment starts the malware again.

My system is fully updated. Why does curl on my Mac still trust the bad certificate?

The built-in command-line tools on macOS read /etc/ssl/cert.pem, which Apple's update does not change. Removing the AAA Certificate Services and emSign ECC Root CA - G3 roots from that file fixes it. A later macOS update may restore the file.

Which Node.js version do I need?

22.23.4, 24.22.1 or 26.12.1, or later in the same release line. Node.js 20 and older receive no fix, so move to 22 or 24.

Sources