CVE-2026-123270 Security Alert: CRITICAL Vulnerability

Urgent: CVE-2026-123270 requires immediate attention.

· 7 min read

Executive Summary

CVE-2026-123270 is a critical unauthenticated remote code execution vulnerability in Redpanda Connect affecting versions 4.39 through 4.110. In streams mode, the management HTTP API is exposed on 0.0.0.0:4195, and authentication is disabled by default. That means an attacker who can reach TCP/4195 can create or modify a stream definition and inject code-executing processors such as command, subprocess, ffi, or unsafe sql_raw to run arbitrary commands on the host.

This is a full host compromise issue with no credentials and no user interaction required. If the service account has access to secrets, cloud metadata, internal networks, or mounted volumes, assume those assets may be exposed. Versions v4.111 and later are not vulnerable by default, but the risk returns if the management API is manually enabled with --bind-http.

Immediate Action

  • Patch or upgrade immediately to v4.111+ or the latest vendor-fixed release. If you cannot patch right away, disable or isolate the management API so TCP/4195 is not reachable from untrusted networks.
  • Block inbound access to port 4195 at the firewall, security group, Kubernetes NetworkPolicy, or reverse proxy. Treat this as internet-exposed RCE until proven otherwise.
  • Remove or disable streams mode if you do not need it. If you must keep it, ensure the management API is not bound to 0.0.0.0 and is protected by network controls.
  • Review for compromise: inspect recent stream CRUD activity, unexpected pipeline definitions, new child processes, and outbound connections from the Redpanda Connect host.
  • Rotate secrets that may have been accessible to the service account, including API keys, database credentials, cloud tokens, and SSH keys.
  • Check the vendor advisory and release notes: Redpanda Connect security advisory / release notes.

Affected Versions

  • redpanda-connect@4.39 through redpanda-connect@4.110 are vulnerable by default in streams mode.
  • redpanda-connect@4.111+ is safe by default because the API endpoint is opt-in.
  • redpanda-connect@4.111+ becomes vulnerable again if the management API is manually enabled with --bind-http and exposed without strong network controls.

Resolution Guide

Preferred fix: upgrade to the latest safe release. If you pin versions, update the package, image tag, or deployment manifest to 4.111+ (or the vendor-recommended fixed release).

# Docker
docker pull redpanda/connect:4.111
docker run --rm redpanda/connect:4.111 --help

# Kubernetes / Helm (example)
kubectl set image deployment/redpanda-connect redpanda-connect=redpanda/connect:4.111

# apt/yum (if packaged by your distro/vendor)
sudo apt-get update
sudo apt-get install --only-upgrade redpanda-connect
# or
sudo yum update redpanda-connect

JavaScript package managers (if you vendor the binary or wrapper via npm/yarn/pnpm):

npm i redpanda-connect@^4.111
yarn add redpanda-connect@^4.111
pnpm add redpanda-connect@^4.111

Python tooling (if managed via pip/pipx wrappers):

pip install --upgrade redpanda-connect
pipx upgrade redpanda-connect

Java build tools (if the service is packaged as an image or dependency in your stack):

// Maven (example placeholder if published as an artifact)
<dependency>
  <groupId>TODO_GROUP</groupId>
  <artifactId>TODO_ARTIFACT</artifactId>
  <version>4.111</version>
</dependency>

// Gradle
implementation("TODO_GROUP:TODO_ARTIFACT:4.111")

Hardening example:

# Do not expose the management API publicly
redpanda-connect --streams --bind-http 127.0.0.1:4195

# Or do not enable the API at all unless required
redpanda-connect --streams

Config fix example:

# Before: exposed on all interfaces
bind_http: 0.0.0.0:4195

# After: loopback only, behind SSH tunnel or local proxy
bind_http: 127.0.0.1:4195

Minimal deployment patch:

containers:
  - name: redpanda-connect
    image: redpanda/connect:4.111
    args:
      - "--streams"
      # Remove --bind-http unless absolutely necessary

Detection & Verification

Check your version:

redpanda-connect --version
docker inspect --format '{{.Config.Image}}' <container_name>
kubectl get deploy redpanda-connect -o jsonpath='{.spec.template.spec.containers[0].image}'

Look for exposed management listeners:

ss -lntp | grep 4195
netstat -lntp | grep 4195
curl -sS http://127.0.0.1:4195/health || true

Search configs and manifests for risky settings:

grep -RIn --color=always 'bind-http\|4195\|streams' /etc /opt /srv 2>/dev/null
kubectl get deploy,sts,ds -A -o yaml | grep -nE 'bind-http|4195|streams'

Dependency and image checks:

npm audit
yarn audit
pnpm audit
pip-audit
trivy image redpanda/connect:4.110

Verify the fix by confirming the service is on 4.111+, the API is not listening on 0.0.0.0:4195, and unauthenticated requests fail:

curl -i http://<host>:4195/streams
# Expected after hardening: connection refused, timeout, or 401/403 depending on config

Risk and Impact

If exploited, an attacker can execute arbitrary commands as the Redpanda Connect service account, which may be enough to steal credentials, read mounted secrets, pivot into internal services, or encrypt/delete data. Because the attack is unauthenticated and can be delivered over the network, exposed instances are at immediate risk even if no one has logged in. In small environments, this can quickly become a full environment compromise, especially when the service runs with broad filesystem, container, or cloud permissions.

Keep reading