Cloudanix VulnDB

CVE-2025-59419

None

CVSS

—

EPSS

1.6%

Published

Oct 15, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Attackers can make a trusted mail server send fake emails that look like they came from the organization itself.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Tampering
Component
Library
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The SMTP codec in Netty concatenates user-supplied parameters directly into SMTP command strings without sanitizing CRLF characters in DefaultSmtpRequest, enabling injection of arbitrary SMTP commands via methods such as SmtpRequests.rcpt.

Why it matters to the business

Organizations using vulnerable Netty versions risk having their trusted mail servers abused to send forged emails that bypass SPF and DKIM checks, enabling credible impersonation of executives and fraudulent corporate communications.

How an attack unfolds

An attacker supplies a malicious string containing CRLF sequences to an SMTP parameter such as a recipient address in application code that calls Netty SMTP methods. The injected commands are executed as part of traffic originating from the server's trusted IP address, resulting in forged emails that appear legitimate.

How to fix it

Upgrade Netty to version 4.1.129.Final or 4.2.8.Final. No workarounds are available.

How to confirm the fix worked

Confirm the Netty dependency version is 4.1.129.Final or newer in all affected projects and verify that SMTP parameter inputs are no longer directly concatenated without sanitization.

Typical attack path

  1. Locate application code paths that pass unsanitized user input to Netty SMTP request methods
  2. Craft a parameter value containing CRLF followed by arbitrary SMTP commands
  3. Trigger the vulnerable SMTP request to cause the server to emit the injected commands
  4. Send forged emails that pass authentication checks due to originating from the trusted server

How to detect it

Review application and mail server logs for SMTP command sequences containing unexpected CRLF characters or injected commands such as additional RCPT TO or DATA blocks originating from Netty-based services.

What your security team should do

  • Immediately upgrade all Netty instances to 4.1.129.Final or 4.2.8.Final
  • Audit code for direct use of SmtpRequests methods with untrusted parameters
  • Add input validation or sanitization for any email-related fields passed to SMTP codecs

The record

Netty is an asynchronous, event-driven network application framework. In versions prior to 4.1.128.Final and 4.2.7.Final, the SMTP codec in Netty contains an SMTP command injection vulnerability due to insufficient input validation for Carriage Return (\r) and Line Feed (\n) characters in user-supplied parameters. The vulnerability exists in io.netty.handler.codec.smtp.DefaultSmtpRequest, where parameters are directly concatenated into the SMTP command string without sanitization. When methods such as SmtpRequests.rcpt(recipient) are called with a malicious string containing CRLF sequences, attackers can inject arbitrary SMTP commands. Because the injected commands are sent from the server's trusted IP address, resulting emails will likely pass SPF and DKIM authentication checks, making them appear legitimate. This allows remote attackers who can control SMTP command parameters (such as email recipients) to forge arbitrary emails from the trusted server, potentially impersonating executives and forging high-stakes corporate communications. This issue has been patched in versions 4.1.129.Final and 4.2.8.Final. No known workarounds exist.

Affected packages

Ecosystem Package Introduced Fixed
Maven io.netty:netty-codec-smtp 0 4.1.128.Final
Maven io.netty:netty-codec-smtp 4.2.0.Alpha1 4.2.7.Final
Chainguard apache-hop 0 2.15.0-r13
Chainguard apache-hop-fips 0 2.15.0-r15
Chainguard celeborn-0.5 0 0.5.4-r8
Chainguard celeborn-0.5-compat 0 0.5.4-r8
Chainguard hadoop-fips-3.3.6 0 3.3.6-r13
Chainguard hadoop-fips-3.3.6-compat 0 3.3.6-r13
Chainguard hadoop-fips-3.3.6-dev 0 3.3.6-r13
Chainguard hadoop-fips-3.3.6-m2 0 3.3.6-r13
Chainguard management-api-for-apache-cassandra-4.0 0 0.1.108-r1
Chainguard management-api-for-apache-cassandra-4.0-compat 0 0.1.108-r1
Chainguard management-api-for-apache-cassandra-4.1 0 0.1.108-r1
Chainguard management-api-for-apache-cassandra-4.1-compat 0 0.1.108-r1
Chainguard management-api-for-apache-cassandra-5.0 0 0.1.108-r2
Chainguard management-api-for-apache-cassandra-5.0-compat 0 0.1.108-r2
Chainguard seata 0 2.5.0-r1
Chainguard seata-namingserver 0 2.5.0-r1
Chainguard seata-namingserver-oci-entrypoint 0 2.5.0-r1
Chainguard seata-openjdk-17-compat 0 2.5.0-r1
Chainguard seata-openjdk-21-compat 0 2.5.0-r1
Chainguard seata-openjdk-8-compat 0 2.5.0-r1
Chainguard seata-server 0 2.5.0-r1
Chainguard seata-server-oci-entrypoint 0 2.5.0-r1
Chainguard tez 0 0.10.5-r6
Chainguard thingsboard 0 4.2.1-r1
Chainguard thingsboard-tb-js-executor 0 4.2.1-r1
Chainguard thingsboard-tb-mqtt-transport 0 4.2.1-r1
Chainguard thingsboard-tb-node 0 4.2.1-r1
Chainguard thingsboard-tb-web-ui 0 4.2.1-r1
Chainguard trino 0 477-r2
Chainguard trino-config 0 477-r2
Chainguard trino-oci-entrypoint 0 477-r2
Chainguard trino-plugin-accumulo 0 477-r2
Chainguard trino-plugin-ai-functions 0 477-r2
Chainguard trino-plugin-atop 0 477-r2
Chainguard trino-plugin-bigquery 0 477-r2
Chainguard trino-plugin-blackhole 0 477-r2
Chainguard trino-plugin-cassandra 0 477-r2
Chainguard trino-plugin-clickhouse 0 477-r2
Chainguard trino-plugin-delta-lake 0 477-r2
Chainguard trino-plugin-druid 0 477-r2
Chainguard trino-plugin-duckdb 0 477-r2
Chainguard trino-plugin-elasticsearch 0 477-r2
Chainguard trino-plugin-example-http 0 477-r2
Chainguard trino-plugin-exasol 0 477-r2
Chainguard trino-plugin-exchange-filesystem 0 477-r2
Chainguard trino-plugin-exchange-hdfs 0 477-r2
Chainguard trino-plugin-faker 0 477-r2
Chainguard trino-plugin-functions-python 0 477-r2
Chainguard trino-plugin-geospatial 0 477-r2
Chainguard trino-plugin-google-sheets 0 477-r2
Chainguard trino-plugin-hive 0 477-r2
Chainguard trino-plugin-http-event-listener 0 477-r2
Chainguard trino-plugin-http-server-event-listener 0 477-r2
Chainguard trino-plugin-hudi 0 477-r2
Chainguard trino-plugin-iceberg 0 477-r2
Chainguard trino-plugin-ignite 0 477-r2
Chainguard trino-plugin-jmx 0 477-r2
Chainguard trino-plugin-kafka 0 477-r2
Chainguard trino-plugin-kafka-event-listener 0 477-r2
Chainguard trino-plugin-kinesis 0 477-r2
Chainguard trino-plugin-kudu 0 477-r2
Chainguard trino-plugin-lakehouse 0 477-r2
Chainguard trino-plugin-ldap-group-provider 0 477-r2
Chainguard trino-plugin-local-file 0 477-r2
Chainguard trino-plugin-loki 0 477-r2
Chainguard trino-plugin-mariadb 0 477-r2
Chainguard trino-plugin-memory 0 477-r2
Chainguard trino-plugin-ml 0 477-r2
Chainguard trino-plugin-mongodb 0 477-r2
Chainguard trino-plugin-mysql 0 477-r2
Chainguard trino-plugin-mysql-event-listener 0 477-r2
Chainguard trino-plugin-opa 0 477-r2
Chainguard trino-plugin-openlineage 0 477-r2
Chainguard trino-plugin-opensearch 0 477-r2
Chainguard trino-plugin-oracle 0 477-r2
Chainguard trino-plugin-password-authenticators 0 477-r2
Chainguard trino-plugin-phoenix5 0 477-r2
Chainguard trino-plugin-pinot 0 477-r2
Chainguard trino-plugin-postgresql 0 477-r2
Chainguard trino-plugin-prometheus 0 477-r2
Chainguard trino-plugin-ranger 0 477-r2
Chainguard trino-plugin-raptor-legacy 0 477-r2
Chainguard trino-plugin-redis 0 477-r2
Chainguard trino-plugin-redshift 0 477-r2
Chainguard trino-plugin-resource-group-managers 0 477-r2
Chainguard trino-plugin-session-property-managers 0 477-r2
Chainguard trino-plugin-singlestore 0 477-r2
Chainguard trino-plugin-snowflake 0 477-r2
Chainguard trino-plugin-spooling-filesystem 0 477-r2
Chainguard trino-plugin-sqlserver 0 477-r2
Chainguard trino-plugin-teradata-functions 0 477-r2
Chainguard trino-plugin-thrift 0 477-r2
Chainguard trino-plugin-tpcds 0 477-r2
Chainguard trino-plugin-tpch 0 477-r2
Chainguard trino-plugin-vertica 0 477-r2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 netty-tcnative 0 2.0.74-150200.3.33.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 netty-tcnative 0 2.0.74-150200.3.33.1
SUSE:Linux Enterprise Module for Package Hub 15 SP6 netty 0 4.1.128-150200.4.37.1
SUSE:Linux Enterprise Module for Package Hub 15 SP7 netty 0 4.1.128-150200.4.37.1
Wolfi celeborn-0.5 0 0.5.4-r8
Wolfi celeborn-0.5-compat 0 0.5.4-r8
Wolfi management-api-for-apache-cassandra-4.1 0 0.1.108-r1
Wolfi management-api-for-apache-cassandra-4.1-compat 0 0.1.108-r1
Wolfi management-api-for-apache-cassandra-5.0 0 0.1.108-r2
Wolfi management-api-for-apache-cassandra-5.0-compat 0 0.1.108-r2
Wolfi tez 0 0.10.5-r6
Wolfi thingsboard 0 4.2.1-r1
Wolfi thingsboard-tb-js-executor 0 4.2.1-r1
Wolfi thingsboard-tb-mqtt-transport 0 4.2.1-r1
Wolfi thingsboard-tb-node 0 4.2.1-r1
Wolfi thingsboard-tb-web-ui 0 4.2.1-r1
Wolfi trino 0 477-r2
Wolfi trino-config 0 477-r2
Wolfi trino-oci-entrypoint 0 477-r2
Wolfi trino-plugin-accumulo 0 477-r2
Wolfi trino-plugin-ai-functions 0 477-r2
Wolfi trino-plugin-atop 0 477-r2
Wolfi trino-plugin-bigquery 0 477-r2
Wolfi trino-plugin-blackhole 0 477-r2
Wolfi trino-plugin-cassandra 0 477-r2
Wolfi trino-plugin-clickhouse 0 477-r2
Wolfi trino-plugin-delta-lake 0 477-r2
Wolfi trino-plugin-druid 0 477-r2
Wolfi trino-plugin-duckdb 0 477-r2
Wolfi trino-plugin-elasticsearch 0 477-r2
Wolfi trino-plugin-example-http 0 477-r2
Wolfi trino-plugin-exasol 0 477-r2
Wolfi trino-plugin-exchange-filesystem 0 477-r2
Wolfi trino-plugin-exchange-hdfs 0 477-r2
Wolfi trino-plugin-faker 0 477-r2
Wolfi trino-plugin-functions-python 0 477-r2
Wolfi trino-plugin-geospatial 0 477-r2
Wolfi trino-plugin-google-sheets 0 477-r2
Wolfi trino-plugin-hive 0 477-r2
Wolfi trino-plugin-http-event-listener 0 477-r2
Wolfi trino-plugin-http-server-event-listener 0 477-r2
Wolfi trino-plugin-hudi 0 477-r2
Wolfi trino-plugin-iceberg 0 477-r2
Wolfi trino-plugin-ignite 0 477-r2
Wolfi trino-plugin-jmx 0 477-r2
Wolfi trino-plugin-kafka 0 477-r2
Wolfi trino-plugin-kafka-event-listener 0 477-r2
Wolfi trino-plugin-kinesis 0 477-r2
Wolfi trino-plugin-kudu 0 477-r2
Wolfi trino-plugin-lakehouse 0 477-r2
Wolfi trino-plugin-ldap-group-provider 0 477-r2
Wolfi trino-plugin-local-file 0 477-r2
Wolfi trino-plugin-loki 0 477-r2
Wolfi trino-plugin-mariadb 0 477-r2
Wolfi trino-plugin-memory 0 477-r2
Wolfi trino-plugin-ml 0 477-r2
Wolfi trino-plugin-mongodb 0 477-r2
Wolfi trino-plugin-mysql 0 477-r2
Wolfi trino-plugin-mysql-event-listener 0 477-r2
Wolfi trino-plugin-opa 0 477-r2
Wolfi trino-plugin-openlineage 0 477-r2
Wolfi trino-plugin-opensearch 0 477-r2
Wolfi trino-plugin-oracle 0 477-r2
Wolfi trino-plugin-password-authenticators 0 477-r2
Wolfi trino-plugin-phoenix5 0 477-r2
Wolfi trino-plugin-pinot 0 477-r2
Wolfi trino-plugin-postgresql 0 477-r2
Wolfi trino-plugin-prometheus 0 477-r2
Wolfi trino-plugin-ranger 0 477-r2
Wolfi trino-plugin-raptor-legacy 0 477-r2
Wolfi trino-plugin-redis 0 477-r2
Wolfi trino-plugin-redshift 0 477-r2
Wolfi trino-plugin-resource-group-managers 0 477-r2
Wolfi trino-plugin-session-property-managers 0 477-r2
Wolfi trino-plugin-singlestore 0 477-r2
Wolfi trino-plugin-snowflake 0 477-r2
Wolfi trino-plugin-spooling-filesystem 0 477-r2
Wolfi trino-plugin-sqlserver 0 477-r2
Wolfi trino-plugin-teradata-functions 0 477-r2
Wolfi trino-plugin-thrift 0 477-r2
Wolfi trino-plugin-tpcds 0 477-r2
Wolfi trino-plugin-tpch 0 477-r2
Wolfi trino-plugin-vertica 0 477-r2
maven io.netty/netty-codec-smtp 4.2.0.Alpha1 4.2.7.Final
openSUSE:Leap 15.6 netty 0 4.1.128-150200.4.37.1
openSUSE:Leap 15.6 netty-tcnative 0 2.0.74-150200.3.33.1
openSUSE:Tumbleweed netty 0 4.1.128-1.1

Related vulnerabilities