important3 findings, 13 signals6 min read

Plugin pins failed across four coding agents, extensions commandeered five browser assistants, and an Accessibility-approved Android app established a shell that survives uninstall.

These disclosures remove assumptions that reviewed commit pins, assistant trust origins, and app uninstall were dependable containment boundaries.

Priority findings3
01
High
AI supply chain
Confirmed

Plugin4Shell defeats commit-like pinning in four AI coding agents.

The chain is demonstrated; remediation across the four agents remains partial.

Affects

Claude Code, OpenAI Codex, GitHub Copilot, and Gemini CLI plugin or extension installers on developer workstations.

What it enables

Zero-click execution of repository-controlled plugin code with the coding-agent user's privileges

Attacker controls a plugin repository or later compromises a previously benign plugin.A marketplace record or local installation pins a reviewed commit identifier.The attacker creates a SHA-shaped branch, or abuses Gemini CLI's FETCH_HEAD behavior, so the symbolic checkout resolves to malicious content.The agent updates the installed plugin without verifying that HEAD equals the pinned commit.Plugin-controlled hooks or commands execute with the coding-agent user's privileges.
Why this matters

A repository owner or later compromise can replace reviewed plugin code and obtain zero-click execution with the coding-agent user's privileges.

Detail, proof-of-concept code and 6 sources
Required access

Control a plugin repository already installed by the victim, using a source that accepts SHA-shaped branch names; Gemini CLI is affected through a related FETCH_HEAD path.

Affected versions

Claude Code before 2.1.179, OpenAI Codex before 0.146.0, GitHub Copilot plugin installer as of 2026-09-20, Gemini CLI plugin installer as of 2026-09-20

A SHA-shaped branch can win Git's ambiguous reference resolution, while Gemini CLI has a related FETCH_HEAD path; the agents accepted the materialized checkout without proving that HEAD matched the pin.

OpenAI added an exact post-checkout comparison, and OpenAI and Anthropic published fixed releases, but the cross-agent condition is not fully closed.

Evidence
Air Security's original research demonstrates exploitation against all four agents and documents the source-host prerequisite.OpenAI's corrective pull request adds post-checkout commit verification.OpenAI and Anthropic published fixed releases.
Share this finding
02
Medium
Browser agents
Confirmed
CVE-2026-0628

An installed extension can silently commandeer five browser AI assistants.

Public exploit code covers five products, while exact fixed versions are missing for some of them.

Affects

Gemini Live in Chrome, Perplexity Comet, Microsoft Edge Actions, Opera Neon, and Claude in Chrome on desktop Chromium-based browsers.

What it enables

Silent browser-agent control, authenticated actions, and—in Chrome or Comet—local-file, screenshot, profile, history, camera, or microphone access

Get an otherwise ordinary extension installed with the permissions required by the applicable variant.Use declarative request rewriting or a content script to reach a web origin the browser agent treats as trusted.Issue privileged browser commands or force a prompt without a real user gesture.Read local or authenticated data in Chrome and Comet, or direct Comet, Edge, Opera Neon, or Claude to act through the user’s authenticated browser context.
Why this matters

The extension does not merely alter a page: it impersonates an assistant's trusted front end and inherits authority over authenticated browser actions and, in some products, local data and sensors.

Detail and 2 sources
Required access

Control of an installed Chromium extension with ordinary broad host and declarative-network permissions; the Edge and Claude variants additionally used debugger permission

Proof of concept

Public exploit code

The starting point is an installed Chromium extension with broad host and declarative-network permissions; Edge and Claude additionally require debugger permission.

Request rewriting, content scripts, privileged-origin mistakes, and an Edge state race let the extension issue commands without a real user gesture.

Demonstrated outcomes include authenticated actions and, in Chrome or Comet, access to files, screenshots, profile data, history, camera, or microphone.

Evidence
Researcher published technical exploit code and per-browser architecture detailsResearcher demonstrated all five variants and reported vendor bounty outcomesExact fixed versions were not supplied for every affected product
Share this finding
03
Medium
Mobile
Confirmed

An Accessibility-approved Android app can establish a shell that survives uninstall.

The victim must install the APK and approve Accessibility; the published analysis identifies no patch.

Affects

Android phones on which a victim sideloads the RatHat dropper and grants Accessibility; the research does not publish a complete tested OS or OEM range.

What it enables

Shell-level persistence outside the app lifecycle, automatic reinstallation, and lock-credential capture from raw input

A victim installs the attacker-controlled APK and grants Accessibility.Accessibility enables Developer Options and Wireless Debugging, then reads the pairing code and dynamic port.An embedded ADB client pairs with the device's localhost adbd and obtains shell UID 2000.The shell stages independent Go and FRP agents under /data/local/tmp.The agent remains after package removal, retains a remote shell path, and reinstalls the APK with permissions and Accessibility re-enabled.Shell access reads raw /dev/input coordinates and maps them to PIN or pattern layouts.
Why this matters

Persistence moves outside the package lifecycle, so removing the app no longer removes its shell foothold.

Detail and 2 sources
Required access

The victim manually installs the RatHat dropper and grants its Accessibility service

Proof of concept

Demonstrated by the researcher

Accessibility turns on Wireless Debugging, reads the pairing data, and pairs an embedded client with localhost adbd as shell UID 2000.

Agents staged under /data/local/tmp remain after package removal and can reinstall the APK with its permissions and Accessibility restored.

The shell can also read raw input coordinates and map them to PIN or pattern layouts.

Evidence
Zimperium's published analysis documents the complete self-pairing and persistence sequence from analyzed samplesThe researchers show the shell agent reading raw input and reconstructing lock credentials
Share this finding
Signals13
important · Zero-click — Edge

Cisco confirms active exploitation of one-email root execution on Secure Email Gateway.

Affects

Cisco Secure Email Gateway, physical and virtual email-security appliances running Cisco AsyncOS.

A crafted message delivered to an affected physical, virtual, or Cisco-hosted gateway is parsed without authentication or recipient interaction; malicious SQL reaches operating-system command execution as root.

Detail and 1 source

Cisco publishes fixed release boundaries, and post-exploitation access can include cluster SSH keys or removal of local evidence.

important · Privilege — Hosting

An exploited LiteSpeed flaw lets one shared-hosting tenant escape CageFS and reach server-wide root.

Affects

LiteSpeed Web Server Enterprise, the commercial web server commonly deployed on shared cPanel, Plesk and DirectAdmin Linux hosts.

The path starts from a low-privilege hosting account and reaches the privileged lscgid helper; incident response confirmed root access and webshells in other tenants' accounts.

Detail and 2 sources

The exact request sequence is not public, and although fixed builds exist, pre-fix server images remain accepted.

important · Mobile — Physical

A physically held, trust-paired iPhone or iPad exposes arbitrary file read and write through MobileBackup.

Affects

Apple iOS and iPadOS, the operating systems on supported iPhones and iPads.

The attacker needs both possession and an existing trust pairing; a path traversal then escapes the backup path and reaches arbitrary files.

Detail and 2 sources
important · Research — Containers

A Docker VMM guest can escape its shared workspace into arbitrary macOS host files.

Affects

Docker VMM, the macOS virtual-machine backend used by Docker Sandboxes and optionally by Docker Desktop.

By unlinking an open workspace file and replacing its parent with a symlink, guest code makes virtio-fs reopen the saved pathname outside the authorized workspace.

Detail and 3 sources

The result is host-user file read or overwrite, with code execution available through writable startup or configuration files; a three-line reproducer is public.

Docker Desktop 4.88.0 contains the fix.

important · DNS

A malicious DNS zone can corrupt Unbound's DNSSEC-validation heap.

Affects

Unbound, a validating recursive DNS resolver deployed on servers and network appliances.

A crafted DNSKEY makes digest processing decompress attacker-controlled data beyond its heap buffer when a vulnerable validating resolver queries the attacker's zone.

Detail and 2 sources

Code execution is possible but has not been publicly demonstrated; Unbound 1.26.1 contains the fix.

Chain to watch
Control an authoritative DNS zone and induce a resolver query.Return the self-referential compressed DNSKEY and corrupt the validation heap.Establish stable control-flow influence on supported builds.Reliable instruction-pointer control and server-process code execution remain unproven.
Unverified chainReproduce the overflow under supported distribution and appliance allocators, then demonstrate stable control-flow influence.
important · Privilege — Linux

Attackers are exploiting an ebtables flaw that writes chosen bytes into shared file-backed pages.

Affects

Linux kernel netfilter bridge ebtables SNAT handling on systems with the vulnerable code and applicable ARP rewrite rules.

Namespace-local CAP_NET_ADMIN and an ARP-rewriting ebtables SNAT rule are required; ebt_snat then writes an attacker-chosen MAC address into a shared backing page without first making the fragment writable.

Detail and 3 sources

A patch exists, but public evidence does not identify the corrupted target or whether exploitation ends in host root, container escape, persistence, or another result.

Chain to watch
Obtain namespace-local CAP_NET_ADMIN on a host using the affected ARP SNAT path.Drive attacker-chosen bytes into a shared file-backed page.Identify the corrupted target and resulting privilege.The corrupted object and final post-corruption capability are not public.
Unverified chainObtain an incident artifact or authoritative technical report identifying the target and final privilege.
important · Edge — OpenShift

Unauthenticated OpenShift console requests can proxy into cluster-internal services.

Affects

Red Hat OpenShift Container Platform console, the web management interface deployed with OpenShift Kubernetes clusters.

A caller reaching the public devfile endpoints can make the console pod request an attacker-selected internal URL and receive part of its response.

Detail and 2 sources

The same parser can exhaust console memory with requests lacking a declared content length, and the accessible record does not identify exact fixed builds.

important · Zero-click — Identity

A forum image upload could cross OpenAI SSO into an active member's ChatGPT and Codex accounts.

Affects

Discourse forums that process HEIF uploads with vulnerable libheif builds, when connected to OpenAI SSO services.

A low-privilege Discourse user could upload a crafted HEIF image, turn a libheif overflow into server-side execution, and compose that compromise with an OpenAI SSO trust-boundary flaw.

Detail and 2 sources

The demonstrated no-interaction transition took over an active account and used an employee's Codex connection to open an internal-repository pull request.

Discourse publishes patched releases for the image-processing flaw.

The published fix was not read for this brief, so this cannot lead.

important · Privilege — Linux

cups2root converts delegated Ubuntu printer administration into an interactive root shell.

Affects

CUPS and cups-filters, the printing service and backend collection used on Ubuntu and other Linux/Unix systems.

A local lpadmin member can use the privileged serial backend to rewrite cups-files.conf, crash cupsd, and have systemd restart it with an attacker-controlled ServerBin path.

Detail and 2 sources

The restarted daemon executes a replacement cups-exec as root without leaving the CUPS AppArmor profile.

Public exploit code exists, the root shell was independently reproduced, and no upstream patch is identified.

important · Privilege — Argo

One namespace-scoped Argo account can read archived workflows from every other namespace.

Affects

Argo Workflows, a Kubernetes-native workflow orchestration control plane commonly used for CI, data processing and deployment automation.

The metadata.namespace!= selector passes authorization against the supplied namespace value but becomes a SQL inequality returning other tenants' records.

Detail and 1 source

Those records can expose workflow definitions, parameters, annotations, environment hints, and error traces; patched version ranges are published.

The published fix was not read for this brief, so this cannot lead.

important · Firmware — Camera

Unauthenticated clients can watch a CareCam CM2507 feed and enter privileged ONVIF functions.

Affects

CareCam HMT.CM2507, an embedded IP security camera.

The live-video service performs no authentication, while a privileged ONVIF account accepts an empty password.

Detail and 2 sources
important · Firmware — Router

A LAN request can overwrite the saved return address in a TOTOLINK A3002MU root process.

Affects

TOTOLINK A3002MU, an embedded AC1200 home router running a MIPS Boa management service.

An unauthenticated formFilter request sends an up-to-4096-byte URL into a 36-byte stack buffer, overwriting the saved MIPS return address at offset 656.

Detail and 1 source

The trigger is public, but arbitrary command execution on stock hardware has not been demonstrated.

Chain to watch
Reach the router's LAN management interface.Overwrite the saved return address while retaining space for a ROP chain.Demonstrate a benign command on stock hardware.Arbitrary command execution on stock hardware remains unproven.
Unverified chainRun a benign ROP payload that records id output on firmware V1.0.0-B20230403.1455.
important · Mobile

An ordinary iOS or iPadOS app can modify protected file-system content through MobileBackup.

Affects

Apple iOS and iPadOS, the operating systems on supported iPhones and iPads.

Attacker-controlled app code submits paths to MobileBackup; insufficient validation carries those paths into protected file-system locations.

Detail and 2 sources

Updating closes the documented path on fixed releases, but the continued acceptance of pre-fix images leaves rollback and fleet-completeness questions unresolved.

Also noted0

No additional findings today.

What was checked · 4 quiet
Boot chain & TPMQuiet

No new Secure Boot bypass, disk-encryption defeat, measured-boot forgery, or boot-stage privilege transition was established.

BluetoothQuiet

Recent BlueZ and device material added crash paths, identifiers, or fixes without making the attacker position cheaper.

Wi-FiQuiet

The D-Link R95 administrator-to-root path had working code but did not move a meaningful device trust boundary.

Physical accessQuiet

No new unlock or disk-encryption bypass was established; the MobileBackup physical path still requires an existing trust pairing.

Get it by email

The same brief, every morning. One email a day, nothing else.

fullchain.sh follows the day’s disclosures from bug to shell — what each one enables, what it links to, and where the fix left the primitive in place.

Every finding here carries a source that was checked before it published. If something is wrong, write to admin@fullchain.sh — corrections are published on the day they affect.

Sunday, September 20, 2026