{"id":"CVE-2026-85301","kind":"vulnerability","aliases":["CVE-2026-85301"],"related":[],"title":"Apache Camel Keycloak: missing issuer claim skips token validation","description":"Improper Authentication vulnerability in Apache Camel Keycloak component.\n\nThis issue affects Apache Camel: from 4.15.0 before 4.18.5, from 4.19.0 before 4.22.1.\n\n\n\n\nThe security processor validated the issuer of an introspected token only when the introspection response actually carried an iss claim. When the claim was absent the check was skipped rather than treated as a failure, so a token that the configured issuer did not mint could be accepted provided the introspection endpoint answered without naming an issuer. Reaching this requires an introspection endpoint that omits iss and accepts tokens from more than one issuer, which is not the default Keycloak arrangement, hence the low severity; where that arrangement exists the consequence is that the deployment authenticates a caller it should have rejected.\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. An absent iss claim is now treated as a validation failure rather than as a reason to skip the check. For deployments that cannot upgrade immediately, ensure the introspection endpoint returns the iss claim, and that it serves exactly one issuer.","summary":"The Keycloak component in Apache Camel skipped issuer validation of introspected tokens when the introspection response had no iss claim. A token minted by an issuer the deployment does not trust could then be accepted as valid.","severity":"medium","cvss":4.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["apache-camel","java","keycloak","package"],"not_affected_if":["default-config","not-using-keycloak-component","single-issuer-with-iss-claim"],"how_to_check":"- Check the Apache Camel version in the project build file (for example `pom.xml` or `build.gradle`) against the fixed releases listed in Fix.\n- Look for the Camel Keycloak component (`camel-keycloak`) in the dependency tree, and check whether the introspection endpoint can return responses without an `iss` claim or can serve tokens from more than one issuer.","fix":"- Upgrade Apache Camel to `4.23.0`.\n- On the 4.18.x LTS stream, upgrade to `4.18.5`.\n- On the 4.22.x LTS stream, upgrade to `4.22.1`.\n- Until upgraded, ensure the introspection endpoint returns the `iss` claim and serves exactly one issuer.","status":"open","published_at":"2026-10-19T11:17:24+00:00","first_seen_at":"2026-10-23T21:57:18+00:00","triaged_at":"2026-10-25T04:33:33+00:00","updated_at":"2026-10-25T04:33:33+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:33:33Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Apache Camel to `4.23.0`.\n- On the 4.18.x LTS stream, upgrade to `4.18.5`.\n- On the 4.22.x LTS stream, upgrade to `4.22.1`.\n- Until upgraded, ensure the introspection endpoint returns the `iss` claim and serves exactly one issuer.","reach":"network","title":"Apache Camel Keycloak: missing issuer claim skips token validation","impact":"medium","summary":"The Keycloak component in Apache Camel skipped issuer validation of introspected tokens when the introspection response had no iss claim. A token minted by an issuer the deployment does not trust could then be accepted as valid.","category":"package","nicknames":[],"who_cares":["apache-camel","java","keycloak"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Unauthorized callers are accepted by the deployment's authentication check.","analyst_note":"","how_to_check":"- Check the Apache Camel version in the project build file (for example `pom.xml` or `build.gradle`) against the fixed releases listed in Fix.\n- Look for the Camel Keycloak component (`camel-keycloak`) in the dependency tree, and check whether the introspection endpoint can return responses without an `iss` claim or can serve tokens from more than one issuer.","needs_analyst":false,"not_affected_if":["default-config","not-using-keycloak-component","single-issuer-with-iss-claim"],"who_is_affected":"Applications using Apache Camel 4.15.0 up to but not including 4.18.5, or 4.19.0 up to but not including 4.22.1, that authenticate callers through the Keycloak component's token introspection. Exposure needs an introspection endpoint that omits the iss claim and accepts tokens from more than one issuer, which the sources say is not the default Keycloak arrangement. Teams on other Camel versions, or not using the Keycloak component, can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.00072,"input_tokens":3627,"output_tokens":714,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':11A,14A '-85301':12A,15A '4.15.0':73C '4.18':194C '4.18.5':75C,202C '4.19.0':77C '4.22':206C '4.22.1':79C,214C '4.23.0':186C 'absent':104C,216C 'accept':56B,127C,147C 'actual':95C 'affect':69C 'answer':132C 'apach':1A,17B,26B,63C,70C,184C 'apache-camel':16B 'arrang':160C,167C 'authent':60C,175C 'caller':177C 'camel':2A,18B,27B,64C,71C,185C 'cannot':238C 'carri':96C 'check':106C,234C 'claim':6A,41B,99C,102C,218C,248C 'compon':24B,66C 'configur':120C 'consequ':170C 'could':53B,125C 'cve':10A,13A 'default':158C 'deploy':49B,174C,236C 'endpoint':131C,142C,244C 'ensur':241C 'exact':253C 'exist':168C 'failur':114C,225C 'fix':188C 'henc':161C 'immedi':240C 'improp':59C 'introspect':32B,36B,88C,93C,130C,141C,243C 'iss':40B,98C,145C,217C,247C 'issu':68C,190C 'issuer':5A,29B,47B,85C,121C,136C,153C,255C 'java':19B 'keycloak':3A,20B,23B,65C,159C 'low':163C 'lts':196C,208C 'mint':44B,124C 'miss':4A 'name':134C 'omit':144C 'one':152C,254C 'packag':21B 'processor':82C 'provid':128C 'rather':109C,226C 'reach':137C 'reason':230C 'reject':181C 'releas':197C,209C 'requir':139C 'respons':37B,94C 'return':245C 'secur':81C 'serv':252C 'sever':164C 'skip':7A,28B,108C,232C 'stream':198C,210C 'token':8A,33B,43B,89C,117C,148C 'treat':111C,221C 'trust':52B 'upgrad':182C,200C,212C,239C 'user':191C,203C 'valid':9A,30B,58B,83C,224C 'vulner':61C 'without':133C 'x':195C,207C","nicknames":[],"mitigations":[],"who_affected":"Applications using Apache Camel 4.15.0 up to but not including 4.18.5, or 4.19.0 up to but not including 4.22.1, that authenticate callers through the Keycloak component's token introspection. Exposure needs an introspection endpoint that omits the iss claim and accepts tokens from more than one issuer, which the sources say is not the default Keycloak arrangement. Teams on other Camel versions, or not using the Keycloak component, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-19T11:17:24+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","cvss_by":"security@apache.org","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-85301","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-85301","severity":null,"published_at":"2026-10-19T11:17:24+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"}