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.0and 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.39throughredpanda-connect@4.110are 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-httpand 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.