Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted input via web form or API
-
ExploitEmbed CR/LF in header value or attachment metadata
-
Executionvertx-mail-client writes bytes verbatim to SMTP DATA
-
ImpactInjected Bcc/Reply-To redirects or tampers message
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
|
| Exploitation Conditions | Exploitation requires an application that passes attacker-controllable data into vertx-mail-client header or metadata APIs - specifically MailMessage.addHeader()/setHeaders(), MailAttachment.addHeader()/setHeaders(), or MIME metadata setters setContentType()/setDisposition()/setDescription()/setContentId() (plus a From display-name path via Utils.mustEncode for a bare LF). No authentication is required (PR:N) and no user interaction is needed, but the vulnerability is only reachable when the host application forwards unsanitized user input into one of these fields; applications that hardcode or strictly validate header values before calling the mail client are not exposed. The limiting factor is therefore application wiring of untrusted input, not a product configuration toggle. |
| Impact | This is a genuine but moderate-severity integrity issue, not the critical RCE its tag implies. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms unauthenticated, low-complexity, remote reachability, but impact is confined to VI:L (low integrity) with VC:N and VA:N - no data disclosure and no availability loss - consistent with SMTP/MIME header injection (CRLF injection) rather than code execution. The input 'RCE' tag directly contradicts the CVSS impact metrics and the description, which describes header spoofing and message tampering, so it should be treated as mislabeled. No EPSS score, KEV listing, POC, or SSVC decision data was provided; therefore exploitation status is 'no public exploit identified at time of analysis' and no active-exploitation or automatable claim can be made. The true risk is conditional: it only materializes in deployments that pass attacker-controlled data into the vertx-mail-client header/attachment APIs, so despite the unauthenticated network vector the real-world footprint is limited to a subset of applications. Net: a real, worth-patching flaw for affected deployments, but a mid-tier priority - not a drop-everything emergency. |
| Exploit ScenarioDerived | An application built on vertx-mail-client feeds unsanitized user input (e.g. a web contact form or API field) into MailMessage.addHeader(), setHeaders(), or attachment metadata. An unauthenticated attacker embeds a CR/LF sequence in the value to inject an extra Bcc or Reply-To header, silently redirecting a copy of outgoing mail or prepending forged body content. No public exploit code is identified at time of analysis, but the technique is well-understood and trivial to reproduce given the low attack complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
CRLF injection in Eclipse Vert.x's vertx-mail-client (io.vertx:vertx-mail-client) lets a remote, unauthenticated attacker inject arbitrary email headers - Bcc, Reply-To, Content-Type, or entirely new headers - or prepend body content to an outgoing SMTP message whenever the host application passes attacker-controllable data into the library's header or MIME metadata APIs. Affected ranges are 4.0.0 through 4.5.34, 5.0.0 through 5.0.12, 5.1.0 through 5.1.9, and 5.2.0; the realistic consequence is message-integrity compromise (silent copy redirection, header spoofing, MIME structure tampering) rather than the remote code execution implied by the accompanying 'RCE' tag. No public exploit code was identified and no confirmed active exploitation is recorded at time of analysis, and exploitation depends entirely on whether the embedding application forwards unsanitized user input into mail header fields.
RemediationAI
There is no fixed version enumerated in the supplied data, but the affected ranges 4.0.0-4.5.34, 5.0.0-5.0.12, 5.1.0-5.1.9, and 5.2.0 imply remediation in the immediately following release of each maintained branch; consult GHSA-rm5c-2c7f-gc5g (https://github.com/vert-x3/vertx-mail-client/security/advisories/GHSA-rm5c-2c7f-gc5g) and the Eclipse work item (https://gitlab.eclipse.org/security/cve-assignment/-/work_items/348) to confirm the exact patched artifacts for your branch before upgrading, and do not assume a version number not stated in those advisories. Until the library upgrade is in place, enforce sanitization at the application boundary: reject or strip '\r' and '\n' (and bare '\n' in From display-names, which also defeats the Utils.mustEncode Q-encoding bypass) from any value passed to addHeader/setHeaders, setContentType, setDisposition, setDescription, or setContentId; the trade-off is that legitimate folded headers and unusual display names will need allow-list handling rather than simple rejection. Where untrusted input cannot be sanitized, route header construction through a fixed allow-list of header names and validate values against a strict RFC 5322 character set, restrict free-form fields (subject, display-name, attachment names) to a narrow character class, or move message assembly to a library that performs CRLF validation - accepting reduced flexibility for attacker-supplied formatting. Because exploitation requires the host application to forward untrusted data into these APIs, an inventory of code paths that build MailMessage/MailAttachment objects from request parameters, form fields, or templates is the most effective compensating control and directly removes the exposed attack surface.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
vertx-mail-client is the asynchronous Java mail client shipped with Eclipse Vert.x, which builds RFC 5322 messages and writes them into the SMTP DATA section. The root cause is the classic injection class covered by CWE-93 (Improper Neutralization of CRLF Sequences, i.e. HTTP/SMTP header injection): MailMessage.addHeader()/setHeaders(), MailAttachment.addHeader()/setHeaders(), and the MIME part setters setContentType(), setDisposition(), setDescription(), and setContentId() write their arguments verbatim onto the wire without rejecting or encoding '\r' and '\n'. Because SMTP uses the blank CRLF line to terminate the header block and begin the body, a CRLF embedded in a name or value terminates the header section early, allowing the attacker to append arbitrary header lines or inject body content. A secondary defect in Utils.mustEncode(char) permits a bare LF inside a From display-name to escape Q-encoding and reach the wire unmodified, giving a second, quote-independent injection path. The CVSS v4.0 vector supplied by the reporter is AV:N/AC:L/AT:N/PR:N/UI:N with only low integrity impact (VI:L) and no confidentiality or availability impact, which matches an integrity-only header injection rather than the 'RCE' tag applied to this record - the tag is inconsistent with the described primitive and with our independent CVSS:3.1 assessment (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N). No CPE strings were supplied, so the impacted coordinate is best identified as the Maven artifact io.vertx:vertx-mail-client across the ranges listed in the vendor advisory.
Know when Vert X gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Remote, unauthenticated, low-complexity injection with no auth or interaction (AV:N/AC:L/PR:N/UI:N); impact is message-integrity tampering only, so I:L with C:N/A:N and scope unchanged.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
In Eclipse Vert.x versions [4.0.0, 4.5.34] or [5.0.0,5.0.12] or [5.1.0,5.1.9] or [5.2.0, 5.2.0], the vertx-mail-client does not sanitize CR (\r) or LF (\n) characters in user-supplied email header names and values before writing them into the SMTP DATA section. A CR/LF sequence embedded in a name or value passed to MailMessage.addHeader(), MailMessage.setHeaders(), MailAttachment.addHeader(), or MailAttachment.setHeaders() is written verbatim to the wire, allowing an attacker to inject arbitrary headers (e.g. Bcc, Reply-To, Content-Type) or prepend body content to the outgoing message.
The same weakness affects MIME part metadata set via MailAttachment.setContentType(), setDisposition(), setDescription(), and setContentId(), which are written directly into MIME part headers without validation.
A secondary weakness in Utils.mustEncode(char) additionally allows a bare LF in a From display-name to bypass Q-encoding and reach the wire unchanged.
An unauthenticated attacker who can control any header name, header value, or attachment metadata field passed to the mail client (for example via a web form or API that feeds into MailMessage) can exploit this to redirect email copies, spoof headers, or tamper with message structure.
The impacted component is io.vertx:vertx-mail-client.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
In version from 3.0.0 to 3.5.3 of Eclipse Vert.x, the StaticHandler uses external input to construct a pathname that sho
In version from 3.0.0 to 3.5.2 of Eclipse Vert.x, the CSRFHandler do not assert that the XSRF Cookie matches the returne
Wildcard TLS certificate validation in Eclipse Vert.x allows remote attackers to bypass Server Name Indication (SNI) hos
In version from 3.5.Beta1 to 3.5.3 of Eclipse Vert.x, the OpenAPI XML type validator creates XML parsers without taking
HTTP request smuggling in Eclipse Vert.x (io.vertx:vertx-core) affects versions 5.0.0 through 5.0.12, 5.1.0 through 5.1.
Eclipse Vert.x Web versions 4.0.0 through 4.5.34, 5.0.0 through 5.0.12, 5.1.0 through 5.1.9, and 5.2.0 contain a scope b
In Eclipse Vert.x version 4.3.0 to 4.5.9, the gRPC server does not limit the maximum length of message payload (Maven GA
In version from 3.0.0 to 3.5.3 of Eclipse Vert.x, the WebSocket HTTP upgrade implementation buffers the full http reques
Eclipse Vert.x's web StaticHandler fails to enforce its hidden-file restriction on files nested inside hidden directorie
Stored cross-site scripting in Eclipse Vert.x 4.0.0 through 4.5.21 and 5.0.0 through 5.0.4 can execute in the context of
In Eclipse Vert.x version 3.0 to 3.5.1, the HttpServer response headers and HttpClient request headers do not filter car
EUVD-2026-101577
GHSA-762q-q3hx-6c35
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB