Sploitus

Exploit for CVE-2026-66908

kitploit · 2026-08-24

Exploit Code

MARKDOWN53 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-OSCERD-CVE-2026-66908
# CVE-2026-66908 — camel-platform-http-main JWT `iss`/`aud` nicht validiert

Ausführbarer Proof-of-Concept-Reproduktor für die Apache-Camel-Schwachstelle, bei der der **in camel-main eingebettete HTTP-Server** seinen JWT-Authentifikator allein aus einem Keystore erstellt, wenn weder `jwtIssuer` noch `jwtAudience` konfiguriert ist, sodass eingehende Token nur auf **Signatur und Ablauf geprüft werden** – die Ansprüche `iss` und `aud` werden nie validiert.

Laufzeit| Verzeichnis| Stack  
---|---|---  
**Camel Main** (Standalone)| `camel-main/`| camel-main **4.21.0** \+ camel-platform-http-main  
  
> **Warum camel-main und nicht Camel Spring Boot / Camel Quarkus?** Die anfällige Klasse `JWTAuthenticationConfigurer` lebt in `camel-platform-http-main` — dem **in camel-main eingebetteten HTTP-Server** (`MainHttpServer`), der von eigenständigen camel-main-Anwendungen und `camel-jbang` verwendet wird. Dieser Server ist _nicht_ die Camel-Spring-Boot-Plattform-HTTP-Integration (servlet-basiert) und auch nicht die Camel-Quarkus-Integration (Quarkus/Vert.x-HTTP mit eigener Sicherheit), daher gibt es keinen getreuen Spring-Boot- oder Quarkus-Reproduktor für diesen spezifischen Fehler. Dieses Repository stellt daher einen eigenständigen **camel-main** -Reproduktor bereit, der den zutreffenden Host für den Fehler darstellt.

root@kitploit:~
    
    
    cd camel-main
    mvn clean package
    docker compose up -d --build
    curl -s http://localhost:8080/exploit
    docker compose down
    

Expected output on an affected build:

root@kitploit:~
    
    
    [1] GET /protected with NO token                       -> HTTP 401  (auth is enforced)
    [2] GET /protected with token iss=https://attacker.example aud=some-unrelated-service  -> HTTP 200  (ACCEPTED — iss/aud NOT validated)
    [3] GET /protected with the same token but EXPIRED     -> HTTP 401  (expiry IS checked)
    >>> PROVEN: ... the iss and aud claims were never checked ... : true
    

## Zusammenfassung der Schwachstelle

Advisory: https://camel.apache.org/security/CVE-2026-66908.html

## Die Behebung

Ab 4.22.0 **verweigert der Server den Start** , wenn ein JWT-Keystore konfiguriert ist, aber weder `jwtIssuer` noch `jwtAudience` gesetzt ist, und benennt die fehlenden Eigenschaften. Ein Betreiber, der tatsächlich eine reine Signatur- und Ablaufvalidierung wünscht, muss dies explizit mit `camel.server.jwtAllowMissingIssuerAndAudience=true` zulassen (standardmäßig Fail-Closed):

root@kitploit:~
    
    
    // fixed (JWTAuthenticationConfigurer.assertIssuerOrAudienceConfigured)
    if (ObjectHelper.isEmpty(audience) && ObjectHelper.isEmpty(issuer)) {
        throw new IllegalArgumentException(
            "JWT authentication requires camel.server.jwtIssuer or camel.server.jwtAudience to be configured, ...");
    }
    

## Haftungsausschluss

Dieses Repository wird zu Bildungs- und Verteidigungszwecken veröffentlicht: um Apache-Camel-Anwendern zu helfen, die Schwachstelle zu verstehen, zu prüfen, ob sie betroffen sind, und zu bestätigen, dass ein Upgrade sie behebt. Die Token werden lokal mit einem Wegwerf-Demo-Keystore erstellt, der im Projekt enthalten ist. Verwenden Sie dieses Material nicht gegen Systeme, die Sie nicht besitzen oder betreiben.