CVE-2025-59419
Fixed in a distro release EPSS 2%CVSS 5.5
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.
Products: netty
Fixed upstream
| Ecosystem | Package | Fixed in |
|---|---|---|
| Maven | io.netty:netty-codec-smtp | 4.2.7.Final |
| Maven | io.netty:netty-codec-smtp | 4.1.128.Final |
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Chainguard | apache-hop | 2.15.0-r13 |
| Chainguard | apache-hop-fips | 2.15.0-r15 |
| Chainguard | celeborn-0.5 | 0.5.4-r8 |
| Chainguard | celeborn-0.5-compat | 0.5.4-r8 |
| Chainguard | celeborn-0.6 | 0.6.3-r7 |
| Chainguard | gremlin-server | 3.8.1-r2 |
| Chainguard | hadoop-fips-3.3.6 | 3.3.6-r13 |
| Chainguard | hadoop-fips-3.4.2 | no fix |
| Chainguard | hadoop-fips-3.5 | 3.5.0-r12 |
| Chainguard | management-api-for-apache-cassandra-4.0 | 0.1.108-r1 |
| Chainguard | management-api-for-apache-cassandra-4.0-compat | 0.1.108-r1 |
| Chainguard | management-api-for-apache-cassandra-4.1 | 0.1.108-r1 |
| Chainguard | management-api-for-apache-cassandra-4.1-compat | 0.1.108-r1 |
| Chainguard | management-api-for-apache-cassandra-5.0 | 0.1.108-r2 |
| Chainguard | management-api-for-apache-cassandra-5.0-compat | 0.1.108-r2 |
| Chainguard | pinot | 1.5.0-r19 |
| Chainguard | pinot-fips | 1.5.0-r9 |
| Chainguard | seata | 2.5.0-r1 |
| Chainguard | seata-openjdk-17-compat | 2.5.0-r1 |
| Chainguard | seata-openjdk-21-compat | 2.5.0-r1 |
| Chainguard | seata-openjdk-8-compat | 2.5.0-r1 |
| Chainguard | seata-server | 2.5.0-r1 |
| Chainguard | seata-server-oci-entrypoint | 2.5.0-r1 |
| Chainguard | tez | 0.10.5-r6 |
| Chainguard | thingsboard | 4.2.1-r1 |
| Chainguard | thingsboard-tb-js-executor | 4.2.1-r1 |
| Chainguard | thingsboard-tb-mqtt-transport | 4.2.1-r1 |
| Chainguard | thingsboard-tb-node | 4.2.1-r1 |
| Chainguard | thingsboard-tb-web-ui | 4.2.1-r1 |
| Chainguard | trino | 477-r2 |
| Chainguard | trino-config | 477-r2 |
| Chainguard | trino-oci-entrypoint | 477-r2 |
| Chainguard | trino-plugin-ai-functions | 477-r2 |
| Chainguard | trino-plugin-bigquery | 477-r2 |
| Chainguard | trino-plugin-blackhole | 477-r2 |
| Chainguard | trino-plugin-cassandra | 477-r2 |
| Chainguard | trino-plugin-clickhouse | 477-r2 |
| Chainguard | trino-plugin-delta-lake | 477-r2 |
| Chainguard | trino-plugin-druid | 477-r2 |
| Chainguard | trino-plugin-duckdb | 477-r2 |
| Chainguard | trino-plugin-elasticsearch | 477-r2 |
| Chainguard | trino-plugin-exasol | 477-r2 |
| Chainguard | trino-plugin-exchange-filesystem | 477-r2 |
| Chainguard | trino-plugin-exchange-hdfs | 477-r2 |
| Chainguard | trino-plugin-faker | 477-r2 |
| Chainguard | trino-plugin-functions-python | 477-r2 |
| Chainguard | trino-plugin-geospatial | 477-r2 |
| Chainguard | trino-plugin-google-sheets | 477-r2 |
| Chainguard | trino-plugin-hive | 477-r2 |
| Chainguard | trino-plugin-http-event-listener | 477-r2 |
| Chainguard | trino-plugin-http-server-event-listener | 477-r2 |
| Chainguard | trino-plugin-hudi | 477-r2 |
| Chainguard | trino-plugin-iceberg | 477-r2 |
| Chainguard | trino-plugin-ignite | 477-r2 |
| Chainguard | trino-plugin-jmx | 477-r2 |
| Chainguard | trino-plugin-kafka | 477-r2 |
| Chainguard | trino-plugin-kafka-event-listener | 477-r2 |
| Chainguard | trino-plugin-lakehouse | 477-r2 |
| Chainguard | trino-plugin-ldap-group-provider | 477-r2 |
| Chainguard | trino-plugin-loki | 477-r2 |
| Chainguard | trino-plugin-mariadb | 477-r2 |
| Chainguard | trino-plugin-memory | 477-r2 |
| Chainguard | trino-plugin-ml | 477-r2 |
| Chainguard | trino-plugin-mongodb | 477-r2 |
| Chainguard | trino-plugin-mysql | 477-r2 |
| Chainguard | trino-plugin-mysql-event-listener | 477-r2 |
| Chainguard | trino-plugin-opa | 477-r2 |
| Chainguard | trino-plugin-openlineage | 477-r2 |
| Chainguard | trino-plugin-opensearch | 477-r2 |
| Chainguard | trino-plugin-oracle | 477-r2 |
| Chainguard | trino-plugin-password-authenticators | 477-r2 |
| Chainguard | trino-plugin-pinot | 477-r2 |
| Chainguard | trino-plugin-postgresql | 477-r2 |
| Chainguard | trino-plugin-prometheus | 477-r2 |
| Chainguard | trino-plugin-ranger | 477-r2 |
| Chainguard | trino-plugin-redis | 477-r2 |
| Chainguard | trino-plugin-redshift | 477-r2 |
| Chainguard | trino-plugin-resource-group-managers | 477-r2 |
| Chainguard | trino-plugin-session-property-managers | 477-r2 |
| Chainguard | trino-plugin-singlestore | 477-r2 |
| Chainguard | trino-plugin-snowflake | 477-r2 |
| Chainguard | trino-plugin-spooling-filesystem | 477-r2 |
| Chainguard | trino-plugin-sqlserver | 477-r2 |
| Chainguard | trino-plugin-teradata-functions | 477-r2 |
| Chainguard | trino-plugin-thrift | 477-r2 |
| Chainguard | trino-plugin-tpcds | 477-r2 |
| Chainguard | trino-plugin-tpch | 477-r2 |
| Chainguard | trino-plugin-vertica | 477-r2 |
| Debian 11 | netty | 1:4.1.48-4+deb11u3 |
| Debian 12 | netty | 1:4.1.48-7+deb12u2 |
| Debian 13 | netty | 1:4.1.48-10+deb13u1 |
| Debian 14 | netty | 1:4.1.48-11 |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | netty-tcnative | 2.0.74-150200.3.33.1 |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | netty-tcnative | 2.0.74-150200.3.33.1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | netty | 4.1.128-150200.4.37.1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | netty | 4.1.128-150200.4.37.1 |
| Ubuntu 25.10 | netty | 1:4.1.48-10ubuntu0.25.10.1 |
| Ubuntu 26.10 | netty | no fix |
| Ubuntu Pro 18.04 LTS | netty | 1:4.1.7-4ubuntu0.1+esm4 |
| Ubuntu Pro 20.04 LTS | netty | 1:4.1.45-1ubuntu0.1~esm3 |
| Ubuntu Pro 22.04 LTS | netty | 1:4.1.48-4+deb11u2ubuntu0.1~esm2 |
| Ubuntu Pro 24.04 LTS | netty | 1:4.1.48-9ubuntu0.1~esm2 |
| Ubuntu Pro 26.04 LTS | netty | no fix |
| Wolfi | celeborn-0.6 | 0.6.3-r7 |
| Wolfi | management-api-for-apache-cassandra-5.0 | 0.1.108-r2 |
| Wolfi | management-api-for-apache-cassandra-5.0-compat | 0.1.108-r2 |
| Wolfi | tez | 0.10.5-r6 |
| Wolfi | thingsboard | 4.2.1-r1 |
| Wolfi | thingsboard-tb-js-executor | 4.2.1-r1 |
| Wolfi | thingsboard-tb-mqtt-transport | 4.2.1-r1 |
| Wolfi | thingsboard-tb-node | 4.2.1-r1 |
| Wolfi | thingsboard-tb-web-ui | 4.2.1-r1 |
| Wolfi | trino | 477-r2 |
| Wolfi | trino-config | 477-r2 |
| Wolfi | trino-oci-entrypoint | 477-r2 |
| Wolfi | trino-plugin-ai-functions | 477-r2 |
| Wolfi | trino-plugin-bigquery | 477-r2 |
| Wolfi | trino-plugin-blackhole | 477-r2 |
| Wolfi | trino-plugin-cassandra | 477-r2 |
| Wolfi | trino-plugin-clickhouse | 477-r2 |
| Wolfi | trino-plugin-delta-lake | 477-r2 |
| Wolfi | trino-plugin-druid | 477-r2 |
| Wolfi | trino-plugin-duckdb | 477-r2 |
| Wolfi | trino-plugin-elasticsearch | 477-r2 |
| Wolfi | trino-plugin-exasol | 477-r2 |
| Wolfi | trino-plugin-exchange-filesystem | 477-r2 |
| Wolfi | trino-plugin-exchange-hdfs | 477-r2 |
| Wolfi | trino-plugin-faker | 477-r2 |
| Wolfi | trino-plugin-functions-python | 477-r2 |
| Wolfi | trino-plugin-geospatial | 477-r2 |
| Wolfi | trino-plugin-google-sheets | 477-r2 |
| Wolfi | trino-plugin-hive | 477-r2 |
| Wolfi | trino-plugin-http-event-listener | 477-r2 |
| Wolfi | trino-plugin-http-server-event-listener | 477-r2 |
| Wolfi | trino-plugin-hudi | 477-r2 |
| Wolfi | trino-plugin-iceberg | 477-r2 |
| Wolfi | trino-plugin-ignite | 477-r2 |
| Wolfi | trino-plugin-jmx | 477-r2 |
| Wolfi | trino-plugin-kafka | 477-r2 |
| Wolfi | trino-plugin-kafka-event-listener | 477-r2 |
| Wolfi | trino-plugin-lakehouse | 477-r2 |
| Wolfi | trino-plugin-ldap-group-provider | 477-r2 |
| Wolfi | trino-plugin-loki | 477-r2 |
| Wolfi | trino-plugin-mariadb | 477-r2 |
| Wolfi | trino-plugin-memory | 477-r2 |
| Wolfi | trino-plugin-ml | 477-r2 |
| Wolfi | trino-plugin-mongodb | 477-r2 |
| Wolfi | trino-plugin-mysql | 477-r2 |
| Wolfi | trino-plugin-mysql-event-listener | 477-r2 |
| Wolfi | trino-plugin-opa | 477-r2 |
| Wolfi | trino-plugin-openlineage | 477-r2 |
| Wolfi | trino-plugin-opensearch | 477-r2 |
| Wolfi | trino-plugin-oracle | 477-r2 |
| Wolfi | trino-plugin-password-authenticators | 477-r2 |
| Wolfi | trino-plugin-pinot | 477-r2 |
| Wolfi | trino-plugin-postgresql | 477-r2 |
| Wolfi | trino-plugin-prometheus | 477-r2 |
| Wolfi | trino-plugin-ranger | 477-r2 |
| Wolfi | trino-plugin-redis | 477-r2 |
| Wolfi | trino-plugin-redshift | 477-r2 |
| Wolfi | trino-plugin-resource-group-managers | 477-r2 |
| Wolfi | trino-plugin-session-property-managers | 477-r2 |
| Wolfi | trino-plugin-singlestore | 477-r2 |
| Wolfi | trino-plugin-snowflake | 477-r2 |
| Wolfi | trino-plugin-spooling-filesystem | 477-r2 |
| Wolfi | trino-plugin-sqlserver | 477-r2 |
| Wolfi | trino-plugin-teradata-functions | 477-r2 |
| Wolfi | trino-plugin-thrift | 477-r2 |
| Wolfi | trino-plugin-tpcds | 477-r2 |
| Wolfi | trino-plugin-tpch | 477-r2 |
| Wolfi | trino-plugin-vertica | 477-r2 |
| openSUSE Leap 15.6 | netty | 4.1.128-150200.4.37.1 |
| openSUSE Leap 15.6 | netty-tcnative | 2.0.74-150200.3.33.1 |
| openSUSE Tumbleweed | netty | 4.1.128-1.1 |