CVE-2026-42527
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
Podatność deserializacji niezaufanych danych w Apache Camel umożliwia atakującemu wywołanie zapytań DNS poprzez dostarczenie spreparowanego ładunku Java. Problem dotyczy domyślnego wzorca filtru ObjectInputFilter, który przepuszcza klasy java.net.URL i java.net.InetAddress, co pozwala na wyciek danych przez kanał boczny DNS.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do przeprowadzenia ataku typu out-of-band (OOB), uzyskując informacje o wewnętrznej infrastrukturze sieciowej lub potencjalnie inicjując dalsze ataki. Największe ryzyko występuje w komponentach camel-jms, gdzie deserializacja jest wykonywana domyślnie.
Rekomendacja
Zaleca się natychmiastową aktualizację Apache Camel do wersji 4.21.0, 4.18.3 lub 4.14.8. Jeśli aktualizacja nie jest możliwa, należy skonfigurować listę dozwolonych klas po stronie JMS (np. deserializationAllowList w Artemis) lub dodać regułę '!java.net.**' do filtra deserializacji.
Oryginalny opis (angielski, źródło NVD)
Deserialization of Untrusted Data vulnerability in Apache Camel. The default ObjectInputFilter pattern shipped with several Apache Camel components for defense-in-depth deserialization filtering ('java.**;javax.**;org.apache.camel.**;!*', or the no-'javax.**' variant in the aggregation-repository components) uses a recursive 'java.**' glob that admits classes whose hashCode/equals/readObject methods perform network I/O, notably java.net.URL and java.net.InetAddress. When an attacker can deliver a Java-serialized payload to an affected Camel consumer, deserialization of a HashMap (or any collection that calls hashCode on its elements) containing java.net.URL keys causes the JVM to issue DNS queries to the attacker-supplied host during the deserialization side-effect. The class-level filter check passes because the resulting object's class (HashMap) is allow-listed; the DNS query is observable on an attacker-controlled DNS server, providing an out-of-band side channel. The exposure is highest on the camel-jms family because JmsBinding.extractBodyFromJms invokes ObjectMessage.getObject() unconditionally when mapJmsMessage=true (default). Affected components: camel-jms, camel-sjms, camel-amqp, camel-mina, camel-netty, camel-netty-http, camel-vertx-http, camel-infinispan, and the aggregation repository components camel-leveldb, camel-cassandraql, camel-consul, camel-sql (JDBC aggregation repository). This issue affects Apache Camel: from 4.14.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0. Users are recommended to upgrade to a version that contains the CAMEL-23372 fix once available: 4.21.0 for the 4.21.x line, 4.18.3 for the 4.18.x line, and 4.14.8 for the 4.14.x line. For deployments that cannot upgrade immediately, configure a JMS-provider-side allow-list (Apache ActiveMQ Artemis 'deserializationAllowList' / 'deserializationDenyList', Apache ActiveMQ Classic 'org.apache.activemq.SERIALIZABLE_PACKAGES') as the primary mitigation, and/or override the in-code default via the endpoint-level 'deserializationFilter' option or the JVM-wide '-Djdk.serialFilter' system property with an explicit deny: '!java.net.**;java.**;javax.**;org.apache.camel.**;!*' (or '!java.net.**;java.**;org.apache.camel.**;!*' for the aggregation-repository components, which do not include javax.**).

