Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down