Description
Improper Authentication vulnerability in Apache Camel Platform HTTP Main component.



This issue affects Apache Camel: from 4.8.0 before 4.22.0.



The camel-main embedded HTTP server can protect its endpoints with JWT authentication, configured through authenticationEnabled together with the JWT keystore properties. JWTAuthenticationConfigurer.buildJwtOptions returned null when neither jwtIssuer nor jwtAudience was configured, and the caller then skipped the JWTAuthOptions.setJWTOptions call entirely, so the Vert.x JWTAuth instance was built from the keystore alone. The result was that inbound tokens were checked only for signature and expiry: the iss and aud claims were not validated at all. Nothing signalled this - the server started normally and reported no warning - so a deployment configured the documented way silently enforced less than the operator believed it had enabled, and the component documentation itself presented signature and expiry checking as the default with issuer and audience as an optional extra. Both the application server and the management server were affected, because the omission was in each of the two configureAuthentication paths. Any unexpired token signed by any key the configured keystore trusts was therefore accepted, regardless of which issuer minted it or which audience it was intended for. How far that reaches depends on the trust set of the keystore: where the signing key belongs to a shared or multi-tenant identity provider, a token legitimately issued for an entirely different audience is accepted, while a keystore holding a dedicated signer narrows it to reuse of tokens minted for other services within the same trust domain. The jwtIssuer and jwtAudience options did not exist before 4.21.0, so on earlier releases there was no supported way to have these claims enforced at all.



Users are recommended to upgrade to version 4.22.0, which fixes the issue. From 4.22.0 the server refuses to start when a JWT keystore is configured but neither jwtIssuer nor jwtAudience is set, naming the properties involved, and a deployment that genuinely wants signature and expiry validation only must say so explicitly with the new jwtAllowMissingIssuerAndAudience option, which defaults to false. This behaviour is fixed only on 4.22.0. The 4.14.9 and 4.18.4 releases do not change the default: they add the jwtIssuer and jwtAudience options so that operators on those maintenance lines can enforce the claims by configuration, and an installation that upgrades to 4.14.9 or 4.18.4 without also setting at least one of those two properties is still accepting any unexpired token signed by a trusted key. Users on 4.14.x or 4.18.x should therefore upgrade to 4.14.9 or 4.18.4 and then set jwtIssuer, jwtAudience, or both. Releases from 4.8.0 up to and including 4.21.x offer no way to enforce these claims and should be moved to a version that does. Independently of version, restrict the JWT keystore to the smallest possible trust set - ideally a signer dedicated to this service rather than a shared identity-provider key - and where a gateway already validates issuer and audience in front of the server, ensure it cannot be bypassed.



Notes:



The JIRA ticket:  https://issues.apache.org/jira/browse/CAMEL-24281  refers to the various commits that resolved the issue, and has more details.



The fail-closed guard could not be backported. The jwtIssuer and jwtAudience options were themselves only introduced in 4.21.0 by CAMEL-23525, so on camel-4.18.x and camel-4.14.x there was nothing an operator could set to satisfy the requirement and the guard would have broken every JWT deployment on those branches with no remedy available.
Published: 2026-08-24
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Improper Authentication via missing JWT issuer and audience validation
Action: Immediate Upgrade
AI Analysis

Impact

Improper authentication arises when Camel's HTTP Main component accepts JWTs that are correctly signed and not expired but lacks the validation of the issuer (iss) and audience (aud) claims. An attacker who obtains or creates a token signed by any key in the configured keystore can therefore impersonate any authenticated user, regardless of who issued the token or for what audience it was intended. This flaw permits unauthorized access to protected endpoints, potentially exposing sensitive data or allowing further lateral movement within the application.

Affected Systems

Apache Camel versions from 4.8.0 up to and including 4.21.x are affected because the platform does not enforce issuer or audience checks when JWT authentication is configured with a keystore. This applies to both the camel‑main embedded HTTP server component and the management server. Versions 4.14.x and 4.18.x can also be impacted unless they are upgraded to 4.14.9 or 4.18.4, where the new jwtIssuer and jwtAudience options exist but must be explicitly set to trigger validation. The highest‑grade patch that closes the issue is the 4.22.0 release, which blocks startup when no issuer or audience is supplied unless the optional jwtAllowMissingIssuerAndAudience flag is set.

Risk and Exploitability

The CVSS score of 7.5 indicates a high risk, while the EPSS score of less than 1% suggests that exploitation is currently unlikely but still possible. The vulnerability is categorized as an improper authentication flaw (CWE‑287), meaning that any attacker who can supply a JWT is able to bypass authentication entirely. Because the flaw accepts any unexpired token signed by a trusted key, it can be exploited remotely through any endpoint that requires JWT authentication. Attackers need only a signed token, which can be forged if they have access to a trusted key in the keystore, or obtained from a shared identity provider. With this capability, an attacker can gain unauthorized access to sensitive resources or compromise the integrity of requests. The lack of a denial‑of‑service impact reduces the overall risk, but the potential for full credential bypass remains high, so mitigations should be applied as soon as possible.

Generated by OpenCVE AI on August 31, 2026 at 13:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Apache Camel to 4.22.0 or a later maintenance release that blocks startup if issuer or audience are not configured, unless you intend to allow missing values and have set the explicit flag.
  • For users on maintenance branches 4.14.x or 4.18.x, upgrade to the latest release in that line (4.14.9 or 4.18.4) and set either jwtIssuer or jwtAudience, or set jwtAllowMissingIssuerAndAudience to true if you deliberately require only signature and expiry checks.
  • Limit the JWT keystore to the smallest possible trusted keyset, ideally a service‑dedicated signing key; this reduces the risk that a shared identity‑provider key can be used to forge tokens for other services.
  • If an API gateway or other front‑end performs JWT validation, ensure it checks issuer and audience and that it cannot be bypassed by redirecting traffic directly to the Camel HTTP server.

Generated by OpenCVE AI on August 31, 2026 at 13:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-fpm2-m4qq-wghr Apache Camel-platform-http-main: when JWT authentication was configured with a keystore but no issuer or audience, the iss and aud claims were never validated, so any unexpired token signed by a trusted key was accepted
History

Mon, 31 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-305
References
Metrics threat_severity

None

threat_severity

Important


Fri, 28 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*

Tue, 25 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 24 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache camel
Vendors & Products Apache
Apache camel

Mon, 24 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
References

Mon, 24 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Description Improper Authentication vulnerability in Apache Camel Platform HTTP Main component. This issue affects Apache Camel: from 4.8.0 before 4.22.0. The camel-main embedded HTTP server can protect its endpoints with JWT authentication, configured through authenticationEnabled together with the JWT keystore properties. JWTAuthenticationConfigurer.buildJwtOptions returned null when neither jwtIssuer nor jwtAudience was configured, and the caller then skipped the JWTAuthOptions.setJWTOptions call entirely, so the Vert.x JWTAuth instance was built from the keystore alone. The result was that inbound tokens were checked only for signature and expiry: the iss and aud claims were not validated at all. Nothing signalled this - the server started normally and reported no warning - so a deployment configured the documented way silently enforced less than the operator believed it had enabled, and the component documentation itself presented signature and expiry checking as the default with issuer and audience as an optional extra. Both the application server and the management server were affected, because the omission was in each of the two configureAuthentication paths. Any unexpired token signed by any key the configured keystore trusts was therefore accepted, regardless of which issuer minted it or which audience it was intended for. How far that reaches depends on the trust set of the keystore: where the signing key belongs to a shared or multi-tenant identity provider, a token legitimately issued for an entirely different audience is accepted, while a keystore holding a dedicated signer narrows it to reuse of tokens minted for other services within the same trust domain. The jwtIssuer and jwtAudience options did not exist before 4.21.0, so on earlier releases there was no supported way to have these claims enforced at all. Users are recommended to upgrade to version 4.22.0, which fixes the issue. From 4.22.0 the server refuses to start when a JWT keystore is configured but neither jwtIssuer nor jwtAudience is set, naming the properties involved, and a deployment that genuinely wants signature and expiry validation only must say so explicitly with the new jwtAllowMissingIssuerAndAudience option, which defaults to false. This behaviour is fixed only on 4.22.0. The 4.14.9 and 4.18.4 releases do not change the default: they add the jwtIssuer and jwtAudience options so that operators on those maintenance lines can enforce the claims by configuration, and an installation that upgrades to 4.14.9 or 4.18.4 without also setting at least one of those two properties is still accepting any unexpired token signed by a trusted key. Users on 4.14.x or 4.18.x should therefore upgrade to 4.14.9 or 4.18.4 and then set jwtIssuer, jwtAudience, or both. Releases from 4.8.0 up to and including 4.21.x offer no way to enforce these claims and should be moved to a version that does. Independently of version, restrict the JWT keystore to the smallest possible trust set - ideally a signer dedicated to this service rather than a shared identity-provider key - and where a gateway already validates issuer and audience in front of the server, ensure it cannot be bypassed. Notes: The JIRA ticket:  https://issues.apache.org/jira/browse/CAMEL-24281  refers to the various commits that resolved the issue, and has more details. The fail-closed guard could not be backported. The jwtIssuer and jwtAudience options were themselves only introduced in 4.21.0 by CAMEL-23525, so on camel-4.18.x and camel-4.14.x there was nothing an operator could set to satisfy the requirement and the guard would have broken every JWT deployment on those branches with no remedy available.
Title Apache Camel: Camel-platform-http-main: when JWT authentication was configured with a keystore but no issuer or audience, the iss and aud claims were never validated, so any unexpired token signed by a trusted key was accepted
Weaknesses CWE-287
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-08-25T19:38:28.088Z

Reserved: 2026-07-28T09:33:04.800Z

Link: CVE-2026-66908

cve-icon Vulnrichment

Updated: 2026-08-24T19:13:41.074Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-24T17:18:06.530

Modified: 2026-08-28T17:51:02.463

Link: CVE-2026-66908

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-24T16:14:18Z

Links: CVE-2026-66908 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T14:00:19Z

Weaknesses
  • CWE-287

    Improper Authentication

  • CWE-305

    Authentication Bypass by Primary Weakness