{"id":"CVE-2026-123270","kind":"vulnerability","aliases":["CVE-2026-123270"],"related":[],"title":"Redpanda Connect: unauthenticated pipeline upload gives remote code execution","description":"Redpanda Connect versions 4.39 to 4.110 contain a missing authentication vulnerability that enables unauthenticated remote code execution (RCE). In streams mode, the management HTTP API is exposed on `0.0.0.0:4195`, but authentication is disabled by default and there is no authentication gate protecting the stream CRUD routes. An unauthenticated attacker with network access to TCP/4195 can `POST` a malicious pipeline definition to `/streams/{id}` that includes code-executing processors such as `command`, `subprocess`, `ffi`, or unsafe `sql_raw`, thereby achieving arbitrary RCE on the host with the permissions of the Redpanda Connect service account. Because pipelines can also return command output in-band via HTTP, this vulnerability enables full host compromise, credential theft, and data exfiltration with no user interaction or credentials required.  \r\n\r\nStarting with v4.111, the API endpoint was reconfigured as opt-in, so this and later versions are no longer vulnerable by default. However, RCE remains achievable on v4.111 and later if the management API is manually enabled via the `--bind-http` flag.","summary":"Redpanda Connect in streams mode exposes a management HTTP API on port 4195 with no authentication by default. An unauthenticated attacker who can reach that port can post a pipeline that runs commands on the host as the service account.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["redpanda-connect","runtime","self-hosted","streams-mode"],"not_affected_if":["default-config","firewalled-port-4195"],"how_to_check":"- Check the Redpanda Connect version with `redpanda-connect --version` or the image tag; versions 4.39 to 4.110 are affected.\n- Check whether the service runs in streams mode and listens on TCP `4195` on `0.0.0.0`.\n- Check whether the `--bind-http` flag is set on v4.111 or later.","fix":"- Versions 4.111 and later do not expose the API by default; the sources do not name a fixed version for the 4.39 to 4.110 range.","status":"open","published_at":"2026-11-09T18:17:25+00:00","first_seen_at":"2026-11-09T18:27:55+00:00","triaged_at":"2026-11-09T18:29:12+00:00","updated_at":"2026-11-09T18:29:12+00:00","category":"runtime","confidence":0.8,"triage":{"at":"2026-11-09T18:29:12Z","model":"claude-haiku-5-5","output":{"fix":"- Versions 4.111 and later do not expose the API by default; the sources do not name a fixed version for the 4.39 to 4.110 range.","reach":"network","title":"Redpanda Connect: unauthenticated pipeline upload gives remote code execution","impact":"high","summary":"Redpanda Connect in streams mode exposes a management HTTP API on port 4195 with no authentication by default. An unauthenticated attacker who can reach that port can post a pipeline that runs commands on the host as the service account.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["redpanda-connect","self-hosted","streams-mode"],"confidence":0.8,"fix_status":"unknown","needs_auth":"no","worst_case":"Code runs on the host as the Redpanda Connect service account.","analyst_note":"Confirm the fixed version for the 4.39 to 4.110 range from the NVD entry or the vendor advisory; the sources do not name one.","how_to_check":"- Check the Redpanda Connect version with `redpanda-connect --version` or the image tag; versions 4.39 to 4.110 are affected.\n- Check whether the service runs in streams mode and listens on TCP `4195` on `0.0.0.0`.\n- Check whether the `--bind-http` flag is set on v4.111 or later.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["default-config","firewalled-port-4195"],"who_is_affected":"Teams running Redpanda Connect in streams mode on versions 4.39 to 4.110, where the management API on port 4195 is reachable from the network. Versions 4.111 and later expose the API only when the `--bind-http` flag is set manually, so those deployments without that flag are not exposed by default. Deployments that firewall port 4195 from untrusted networks have reduced exposure.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000819,"input_tokens":4843,"output_tokens":669,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-123270':12A,15A '-2026':11A,14A '/streams':128C '0.0.0.0':94C '4.110':71C '4.39':69C '4195':38B,95C 'access':118C 'account':65B,160C 'achiev':146C,217C 'also':164C 'api':35B,90C,195C,225C 'arbitrari':147C 'attack':46B,115C 'authent':41B,75C,97C,106C 'band':170C 'bind':232C 'bind-http':231C 'code':8A,81C,133C 'code-execut':132C 'command':58B,138C,166C 'compromis':178C 'connect':2A,18B,27B,67C,158C 'contain':72C 'credenti':179C,189C 'crud':111C 'cve':10A,13A 'data':182C 'default':43B,101C,213C 'definit':126C 'disabl':99C 'enabl':78C,175C,228C 'endpoint':196C 'execut':9A,82C,134C 'exfiltr':183C 'expos':31B,92C 'ffi':140C 'flag':234C 'full':176C 'gate':107C 'give':6A 'host':22B,61B,151C,177C 'howev':214C 'http':34B,89C,172C,233C 'id':129C 'in-band':168C 'includ':131C 'interact':187C 'later':206C,221C 'longer':210C 'malici':124C 'manag':33B,88C,224C 'manual':227C 'miss':74C 'mode':25B,30B,86C 'network':117C 'opt':201C 'opt-in':200C 'output':167C 'permiss':154C 'pipelin':4A,55B,125C,162C 'port':37B,51B 'post':53B,122C 'processor':135C 'protect':108C 'raw':144C 'rce':83C,148C,215C 'reach':49B 'reconfigur':198C 'redpanda':1A,17B,26B,66C,157C 'redpanda-connect':16B 'remain':216C 'remot':7A,80C 'requir':190C 'return':165C 'rout':112C 'run':57B 'runtim':19B 'self':21B 'self-host':20B 'servic':64B,159C 'sql':143C 'start':191C 'stream':24B,29B,85C,110C 'streams-mod':23B 'subprocess':139C 'tcp/4195':120C 'theft':180C 'therebi':145C 'unauthent':3A,45B,79C,114C 'unsaf':142C 'upload':5A 'user':186C 'v4.111':193C,219C 'version':68C,207C 'via':171C,229C 'vulner':76C,174C,211C","nicknames":[],"mitigations":[],"who_affected":"Teams running Redpanda Connect in streams mode on versions 4.39 to 4.110, where the management API on port 4195 is reachable from the network. Versions 4.111 and later expose the API only when the `--bind-http` flag is set manually, so those deployments without that flag are not exposed by default. Deployments that firewall port 4195 from untrusted networks have reduced exposure.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["critical","redpandaconnect","runtime","selfhosted","streamsmode"],"campaign_type":null,"search_a":"'-123270':12A,15A '-2026':11A,14A 'code':8A 'connect':2A 'cve':10A,13A 'execut':9A 'give':6A 'pipelin':4A 'redpanda':1A 'remot':7A 'unauthent':3A 'upload':5A","search_b":"'4195':38B 'account':65B 'api':35B 'attack':46B 'authent':41B 'command':58B 'connect':18B,27B 'default':43B 'expos':31B 'host':22B,61B 'http':34B 'manag':33B 'mode':25B,30B 'pipelin':55B 'port':37B,51B 'post':53B 'reach':49B 'redpanda':17B,26B 'redpanda-connect':16B 'run':57B 'runtim':19B 'self':21B 'self-host':20B 'servic':64B 'stream':24B,29B 'streams-mod':23B 'unauthent':45B","search_c":"'/streams':128C '0.0.0.0':94C '4.110':71C '4.39':69C '4195':95C 'access':118C 'account':160C 'achiev':146C,217C 'also':164C 'api':90C,195C,225C 'arbitrari':147C 'attack':115C 'authent':75C,97C,106C 'band':170C 'bind':232C 'bind-http':231C 'code':81C,133C 'code-execut':132C 'command':138C,166C 'compromis':178C 'connect':67C,158C 'contain':72C 'credenti':179C,189C 'crud':111C 'data':182C 'default':101C,213C 'definit':126C 'disabl':99C 'enabl':78C,175C,228C 'endpoint':196C 'execut':82C,134C 'exfiltr':183C 'expos':92C 'ffi':140C 'flag':234C 'full':176C 'gate':107C 'host':151C,177C 'howev':214C 'http':89C,172C,233C 'id':129C 'in-band':168C 'includ':131C 'interact':187C 'later':206C,221C 'longer':210C 'malici':124C 'manag':88C,224C 'manual':227C 'miss':74C 'mode':86C 'network':117C 'opt':201C 'opt-in':200C 'output':167C 'permiss':154C 'pipelin':125C,162C 'post':122C 'processor':135C 'protect':108C 'raw':144C 'rce':83C,148C,215C 'reconfigur':198C 'redpanda':66C,157C 'remain':216C 'remot':80C 'requir':190C 'return':165C 'rout':112C 'servic':159C 'sql':143C 'start':191C 'stream':85C,110C 'subprocess':139C 'tcp/4195':120C 'theft':180C 'therebi':145C 'unauthent':79C,114C 'unsaf':142C 'user':186C 'v4.111':193C,219C 'version':68C,207C 'via':171C,229C 'vulner':76C,174C,211C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T18:17:25+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"134c704f-9b21-4f2e-91b3-4a467353bcc0","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-123270","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123270","severity":null,"published_at":"2026-11-09T18:17:25+00:00","modified_at":"2026-11-09T18:17:25+00:00","first_seen_at":"2026-11-09T18:27:55+00:00","fetched_at":"2026-11-09T18:27:55+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}