CVE-2025-7962
High · 7.5CVSS
7.5
EPSS
0.9%
Published
Jul 21, 2025
CISA due date
—
Cloudanix analysis
A bug in email software used by some data tools could let attackers send fake emails through your systems without permission.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits SMTP command injection through the use of carriage return (\r) and line feed (\n) characters in email message handling within Jakarta Mail prior to 2.0.2, allowing separation of multiple messages and injection of arbitrary SMTP commands.
Why it matters to the business
Attackers could send unauthorized emails from affected systems, enabling spam, phishing, or data exfiltration that increases operational costs, damages reputation, and creates compliance exposure, with urgency driven by the 462 days since publication and rising EPSS trend.
How an attack unfolds
An attacker supplies specially crafted input containing embedded \r\n sequences to the Grafana Infinity Datasource, which passes it to the vulnerable Jakarta Mail library, allowing injection of additional SMTP commands to manipulate or send extra email messages without authentication.
How to fix it
Upgrade grafana/grafana-infinity-datasource to commit 9c736aa21b3a669d3070d3f5f80d949326fafa77 or later, which incorporates Jakarta Mail 2.0.2 or higher to sanitize line terminators.
How to confirm the fix worked
Confirm the installed commit hash matches 9c736aa21b3a669d3070d3f5f80d949326fafa77, then retest email processing paths with CRLF payloads to ensure commands are no longer injectable.
Typical attack path
- Identify an input vector or configuration option in the Grafana Infinity Datasource that processes email data
- Craft malicious payload embedding SMTP commands separated by \r and \n UTF-8 characters
- Trigger the email sending or processing functionality
- Verify successful injection by observing delivery of unauthorized messages or SMTP responses
How to detect it
Review application and email server logs for sequences of multiple SMTP commands within single sessions or unexpected carriage-return/line-feed patterns in message content; correlate with datasource email activity timestamps.
What your security team should do
- Prioritize upgrade of the Grafana Infinity Datasource to the fixed commit within the next patch cycle
- Temporarily disable or restrict email notification features if upgrade cannot be immediate
- Audit email logs for anomalous volume or content since publication date
The record
In Jakarta Mail versions prior to 2.0.2 it is possible to perform an SMTP Injection by utilizing the \r and \n UTF-8 characters to separate different messages.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | org.eclipse.angus:smtp | 0 | 2.0.4 |
| Chainguard | apache-nifi | 0 | 2.5.0-r2 |
| Chainguard | apache-nifi-compat | 0 | 2.5.0-r2 |
| Chainguard | apache-nifi-toolkit | 0 | 2.5.0-r2 |
| Chainguard | apicurio-registry | 0 | 3.0.11-r1 |
| Chainguard | apicurio-registry-nginx-config | 0 | 3.0.11-r1 |
| Chainguard | apicurio-registry-ui | 0 | 3.0.11-r1 |
| Chainguard | dependency-track | 0 | 4.13.3-r1 |
| Chainguard | dependency-track-bundled | 0 | 4.13.3-r1 |
| Chainguard | jenkins-2 | 0 | 2.535-r0 |
| Chainguard | jenkins-2-openjdk-17 | 0 | 2.544-r1 |
| Chainguard | jenkins-2-openjdk-21 | 0 | 2.544-r1 |
| Chainguard | jenkins-2.504 | 0 | 2.504.3-r8 |
| Chainguard | jenkins-2.516 | 0 | 2.516.3-r2 |
| Chainguard | jenkins-compat | 0 | 2.535-r0 |
| Chainguard | jenkins-docker-agent | 0 | 2.535-r0 |
| Chainguard | jenkins-docker-agent-openjdk-17 | 0 | 2.544-r1 |
| Chainguard | jenkins-docker-agent-openjdk-21 | 0 | 2.544-r1 |
| Chainguard | jenkins-remoting | 0 | 2.535-r0 |
| Chainguard | jenkins-utils | 0 | 2.535-r0 |
| Chainguard | keycloak | 0 | 26.3.2-r1 |
| Chainguard | keycloak-bitnami-compat | 0 | 26.3.2-r1 |
| Chainguard | keycloak-bitnami-fips | 0 | 26.3.2-r1 |
| Chainguard | keycloak-compat | 0 | 26.3.2-r1 |
| Chainguard | keycloak-config-cli | 0 | 6.4.0-r48 |
| Chainguard | keycloak-config-cli-bitnami-compat | 0 | 6.4.0-r48 |
| Chainguard | keycloak-config-cli-compat | 0 | 6.4.0-r48 |
| Chainguard | keycloak-config-cli-iamguarded-compat | 0 | 6.4.0-r48 |
| Chainguard | keycloak-fips | 0 | 26.3.2-r1 |
| Chainguard | keycloak-fips-bitnami-compat | 0 | 26.3.2-r1 |
| Chainguard | keycloak-fips-policy-140-2 | 0 | 26.3.2-r1 |
| Chainguard | keycloak-fips-policy-140-3 | 0 | 26.3.2-r1 |
| Chainguard | keycloak-iamguarded-compat | 0 | 26.3.2-r1 |
| Chainguard | keycloak-iamguarded-fips | 0 | 26.3.2-r1 |
| Chainguard | wildfly | 0 | 36.0.1-r8 |
| Chainguard | wildfly-openjdk-17 | 0 | 36.0.1-r8 |
| Chainguard | wildfly-openjdk-17-compat | 0 | 36.0.1-r8 |
| Chainguard | wildfly-openjdk-21 | 0 | 36.0.1-r8 |
| Chainguard | wildfly-openjdk-21-compat | 0 | 36.0.1-r8 |
| Debian:11 | jakarta-mail | 0 | No fix |
| Debian:11 | javamail | 0 | No fix |
| Debian:12 | jakarta-mail | 0 | No fix |
| Debian:12 | javamail | 0 | No fix |
| Debian:13 | jakarta-mail | 0 | No fix |
| Debian:13 | javamail | 0 | No fix |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | javamail | 0 | 1.6.2-150200.3.7.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | javamail | 0 | 1.6.2-150200.3.7.1 |
| Wolfi | apache-nifi | 0 | 2.5.0-r2 |
| Wolfi | apache-nifi-compat | 0 | 2.5.0-r2 |
| Wolfi | apache-nifi-toolkit | 0 | 2.5.0-r2 |
| Wolfi | apicurio-registry | 0 | 3.0.11-r1 |
| Wolfi | apicurio-registry-nginx-config | 0 | 3.0.11-r1 |
| Wolfi | apicurio-registry-ui | 0 | 3.0.11-r1 |
| Wolfi | dependency-track | 0 | 4.13.3-r1 |
| Wolfi | dependency-track-bundled | 0 | 4.13.3-r1 |
| Wolfi | jenkins-2 | 0 | 2.535-r0 |
| Wolfi | jenkins-2-openjdk-17 | 0 | 2.544-r1 |
| Wolfi | jenkins-2-openjdk-21 | 0 | 2.544-r1 |
| Wolfi | jenkins-compat | 0 | 2.535-r0 |
| Wolfi | jenkins-docker-agent | 0 | 2.535-r0 |
| Wolfi | jenkins-docker-agent-openjdk-17 | 0 | 2.544-r1 |
| Wolfi | jenkins-docker-agent-openjdk-21 | 0 | 2.544-r1 |
| Wolfi | jenkins-remoting | 0 | 2.535-r0 |
| Wolfi | jenkins-utils | 0 | 2.535-r0 |
| Wolfi | keycloak | 0 | 26.3.2-r1 |
| Wolfi | keycloak-bitnami-compat | 0 | 26.3.2-r1 |
| Wolfi | keycloak-compat | 0 | 26.3.2-r1 |
| Wolfi | keycloak-config-cli | 0 | 6.4.0-r48 |
| Wolfi | keycloak-config-cli-bitnami-compat | 0 | 6.4.0-r48 |
| Wolfi | keycloak-config-cli-compat | 0 | 6.4.0-r48 |
| Wolfi | keycloak-config-cli-iamguarded-compat | 0 | 6.4.0-r48 |
| Wolfi | keycloak-iamguarded-compat | 0 | 26.3.2-r1 |
| Wolfi | wildfly | 0 | 36.0.1-r8 |
| Wolfi | wildfly-openjdk-17 | 0 | 36.0.1-r8 |
| Wolfi | wildfly-openjdk-17-compat | 0 | 36.0.1-r8 |
| Wolfi | wildfly-openjdk-21 | 0 | 36.0.1-r8 |
| Wolfi | wildfly-openjdk-21-compat | 0 | 36.0.1-r8 |
| openSUSE:Leap 15.6 | javamail | 0 | 1.6.2-150200.3.7.1 |
| openSUSE:Tumbleweed | javamail | 0 | 1.6.2-3.1 |
Related vulnerabilities
- CVE-2026-22732 When applications specify HTTP response headers for servlet applications using Spring… Also affects apache-nifi
- CVE-2026-24281 Hostname verification in Apache ZooKeeper ZKTrustManager falls back to reverse DNS (PTR)… Also affects apache-nifi
- CVE-2026-24308 Improper handling of configuration values in ZKConfig in Apache ZooKeeper 3.8.5 and 3.9.4… Also affects apache-nifi
- CVE-2026-29062 jackson-core contains core low-level incremental ("streaming") parser and generator… Also affects apache-nifi
- CVE-2026-1225 ACE vulnerability in configuration file processing by QOS.CH logback-core up to and… Also affects apache-nifi
- CVE-2025-14763 Missing cryptographic key commitment in the Amazon S3 Encryption Client for Java may… Also affects apache-nifi
- CVE-2024-29371 In jose4j before 0.9.6, an attacker can cause a Denial-of-Service (DoS) condition by… Also affects apache-nifi
- CVE-2025-67735 Netty has a CRLF Injection vulnerability in io.netty.handler.codec.http.HttpRequestEncoder Also affects apache-nifi