This is an automated email from the ASF dual-hosted git repository.

oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 936875258bce CAMEL-23522: doc-sync 4.14 upgrade guide for camel-mail 
mail.smtp.* gating (#23418)
936875258bce is described below

commit 936875258bcea1fafb9accd0a53c645218ba6b09
Author: Andrea Cosentino <[email protected]>
AuthorDate: Thu May 21 19:36:14 2026 +0200

    CAMEL-23522: doc-sync 4.14 upgrade guide for camel-mail mail.smtp.* gating 
(#23418)
    
    Mirror the 4.14.x upgrade-guide entry for CAMEL-23522 (camel-mail - gate 
JavaMail session
    properties from headers behind opt-in) onto main, per the project's 
backport upgrade-guide
    policy: the camel-4x-upgrade-guide-4_XX.adoc files on main act as the 
canonical history
    across all releases, so any entry added on a maintenance branch must also 
land here.
    
    Companion to the backport PR against camel-4.14.x (#23416), the 4.18.x 
backport (#23381), the
    4.18 doc-sync (#23383) and the main PR (#23362).
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../ROOT/pages/camel-4x-upgrade-guide-4_14.adoc    | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
index ed843ccc9bbd..4c4579f9ebf9 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
@@ -179,6 +179,29 @@ work without changes. Routes that set the header by its 
literal string value
 (for example `setHeader("SEARCH_QUERY", ...)`) must be updated to use the
 new value (`setHeader("CamelElasticsearchSearchQuery", ...)`).
 
+=== camel-mail
+
+The SMTP producer no longer extracts dynamic JavaMail session properties from 
message headers by
+default. Previously any message header whose key started with `mail.smtp.` was 
applied to a
+per-message `JavaMailSender`, which meant an upstream producer that mapped 
untrusted input into the
+exchange header map (for example `platform-http` query parameters, JMS or 
Kafka messages from
+untrusted producers) could override transport-security settings such as 
`mail.smtp.ssl.trust` or
+`mail.smtp.starttls.enable`, or redirect the SMTP connection.
+
+This behaviour is now disabled by default. Routes that legitimately rely on 
per-message
+`mail.smtp.*` headers must opt back in on the endpoint:
+
+[source,java]
+----
+.to("smtp://mymailserver:1234?useJavaMailSessionPropertiesFromHeaders=true");
+----
+
+Even with the opt-in, route authors should still strip the namespace with
+`removeHeaders("mail.smtp.*")` between any untrusted ingress and the mail 
producer.
+
+In addition, the inbound `MailHeaderFilterStrategy` now blocks the 
`mail.smtp.` / `mail.smtps.`
+prefix as well, so an external mail message can no longer inject these into a 
downstream exchange.
+
 == Upgrading from 4.14.2 to 4.14.3
 
 === camel-tika

Reply via email to