{"id":"CVE-2026-84180","kind":"vulnerability","aliases":["CVE-2026-84180"],"related":[],"title":"Apache Camel Knative: failed requests return exception stack traces to callers","description":"Generation of Error Message Containing Sensitive Information vulnerability in Apache Camel Knative component.\n\nThis issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.\n\nWhen processing of an exchange failed on the consumer side, the Knative HTTP consumer wrote the resulting exception back to the remote caller as the response body, including its class name, message and stack trace. An external sender could therefore provoke a failure and read internal detail about the deployment: class and package names, file system or host names carried in exception messages, and the shape of the route. That detail is useful for building a more targeted attack, and where an exception message embeds configuration or connection strings it is disclosure in its own right. camel-knative was the remaining HTTP-family consumer that had not been aligned with the muteException behaviour established for the other HTTP consumers by CAMEL-23651.\n\nUpgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. The consumer now honours a muteException option that defaults to true, so a route failure returns an empty body with the error status rather than the exception. Set muteException=false to restore the previous output. For deployments that cannot upgrade immediately, add an onException handler that sets the response body explicitly, so that the framework never writes the exception back to the caller.","summary":"When a Knative HTTP consumer route fails, Apache Camel's camel-knative component writes the exception class, message and stack trace back to the caller as the response body. An external sender can trigger failures to learn internal class names, paths, hostnames and route structure, and may see connection details embedded in exception messages.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apache-camel","camel-knative","java","knative","package","self-hosted"],"not_affected_if":["camel-knative-not-used","no-knative-http-consumer","patched-version"],"how_to_check":"- Check the Apache Camel version in the project build file (for example `mvn dependency:tree | grep camel-knative`) and see whether it is below `4.18.5` on the 4.18.x line or below `4.22.1` on the 4.22.x line, or in the 4.0.0 to 4.17.x range.\n- Look for camel-knative in the dependency tree; if it is absent, the component is not affected.\n- Send a request that makes a route fail and confirm whether the response body contains a Java stack trace.","fix":"- Apache Camel: upgrade to `4.23.0`, or to `4.18.5` on the 4.18.x LTS stream, or `4.22.1` on the 4.22.x LTS stream.\n- Without upgrading, set `muteException=false` only if you need the old output; the new default `muteException=true` returns an empty body with the error status.\n- Interim workaround: add an onException handler that sets the response body explicitly so the exception is never written to the caller.","status":"open","published_at":"2026-10-19T11:17:22+00:00","first_seen_at":"2026-10-23T21:57:18+00:00","triaged_at":"2026-10-25T04:25:18+00:00","updated_at":"2026-10-25T04:25:18+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:25:18Z","model":"claude-haiku-5-5","output":{"fix":"- Apache Camel: upgrade to `4.23.0`, or to `4.18.5` on the 4.18.x LTS stream, or `4.22.1` on the 4.22.x LTS stream.\n- Without upgrading, set `muteException=false` only if you need the old output; the new default `muteException=true` returns an empty body with the error status.\n- Interim workaround: add an onException handler that sets the response body explicitly so the exception is never written to the caller.","reach":"internet","title":"Apache Camel Knative: failed requests return exception stack traces to callers","impact":"low","summary":"When a Knative HTTP consumer route fails, Apache Camel's camel-knative component writes the exception class, message and stack trace back to the caller as the response body. An external sender can trigger failures to learn internal class names, paths, hostnames and route structure, and may see connection details embedded in exception messages.","category":"package","nicknames":[],"who_cares":["java","apache-camel","camel-knative","knative","self-hosted"],"confidence":0.7,"needs_auth":"no","worst_case":"Internal class names, paths and connection details leak to any remote sender","analyst_note":"","how_to_check":"- Check the Apache Camel version in the project build file (for example `mvn dependency:tree | grep camel-knative`) and see whether it is below `4.18.5` on the 4.18.x line or below `4.22.1` on the 4.22.x line, or in the 4.0.0 to 4.17.x range.\n- Look for camel-knative in the dependency tree; if it is absent, the component is not affected.\n- Send a request that makes a route fail and confirm whether the response body contains a Java stack trace.","needs_analyst":false,"not_affected_if":["camel-knative-not-used","patched-version","no-knative-http-consumer"],"who_is_affected":"Applications that use the camel-knative component with a Knative HTTP consumer in Apache Camel 4.0.0 through 4.18.x before 4.18.5, or 4.19.0 through 4.22.x before 4.22.1. Exposure depends on whether an outside sender can reach that consumer endpoint and send a request that makes the route fail. Projects that do not use camel-knative, or that run only on patched releases, can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000772,"input_tokens":3702,"output_tokens":803,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-23651':234C '-84180':14A,17A '4.0.0':104C '4.18':247C '4.18.5':106C,255C '4.19.0':108C '4.22':259C '4.22.1':110C,267C '4.23.0':239C 'add':309C 'affect':100C 'align':221C 'apach':1A,19B,37B,94C,101C,237C 'apache-camel':18B 'attack':189C 'back':52B,129C,327C 'behaviour':225C 'bodi':59B,137C,286C,317C 'build':185C 'caller':11A,55B,133C,330C 'camel':2A,20B,22B,38B,41B,95C,102C,208C,233C,238C 'camel-kn':21B,40B,207C 'cannot':306C 'carri':170C 'class':47B,69B,140C,161C 'compon':43B,97C 'configur':196C 'connect':79B,198C 'consum':34B,119C,124C,216C,231C,269C 'contain':89C 'could':149C 'cve':12A,15A 'default':276C 'deploy':160C,304C 'detail':80B,157C,181C 'disclosur':202C 'emb':195C 'embed':81B 'empti':285C 'error':87C,289C 'establish':226C 'except':7A,46B,83B,128C,172C,193C,294C,326C 'exchang':115C 'explicit':318C 'extern':61B,147C 'fail':4A,36B,116C 'failur':65B,153C,282C 'fals':297C 'famili':215C 'file':165C 'fix':241C 'framework':322C 'generat':85C 'handler':312C 'honour':271C 'host':29B,168C 'hostnam':72B 'http':33B,123C,214C,230C 'http-famili':213C 'immedi':308C 'includ':138C 'inform':91C 'intern':68B,156C 'issu':99C,243C 'java':24B 'knativ':3A,23B,25B,32B,42B,96C,122C,209C 'learn':67B 'lts':249C,261C 'may':77B 'messag':48B,84B,88C,142C,173C,194C 'muteexcept':224C,273C,296C 'name':70B,141C,164C,169C 'never':323C 'onexcept':311C 'option':274C 'output':302C 'packag':26B,163C 'path':71B 'previous':301C 'process':112C 'provok':151C 'rather':291C 'read':155C 'releas':250C,262C 'remain':212C 'remot':132C 'request':5A 'respons':58B,136C,316C 'restor':299C 'result':127C 'return':6A,283C 'right':206C 'rout':35B,74B,179C,281C 'see':78B 'self':28B 'self-host':27B 'sender':62B,148C 'sensit':90C 'set':295C,314C 'shape':176C 'side':120C 'stack':8A,50B,144C 'status':290C 'stream':251C,263C 'string':199C 'structur':75B 'system':166C 'target':188C 'therefor':150C 'trace':9A,51B,145C 'trigger':64B 'true':278C 'upgrad':235C,253C,265C,307C 'use':183C 'user':244C,256C 'vulner':92C 'write':44B,324C 'wrote':125C 'x':248C,260C","nicknames":[],"mitigations":[],"who_affected":"Applications that use the camel-knative component with a Knative HTTP consumer in Apache Camel 4.0.0 through 4.18.x before 4.18.5, or 4.19.0 through 4.22.x before 4.22.1. Exposure depends on whether an outside sender can reach that consumer endpoint and send a request that makes the route fail. Projects that do not use camel-knative, or that run only on patched releases, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-19T11:17:22+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","cvss_by":"security@apache.org","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-84180","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-84180","severity":null,"published_at":"2026-10-19T11:17:22+00:00","modified_at":"2026-10-19T20:45:51+00:00","first_seen_at":"2026-10-23T21:57:18+00:00","fetched_at":"2026-10-23T22:28:57+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}