# CVE-2020-9488: Improper validation of certificate with host mismatch in Apache Log4j SMTP appender

> Man-in-the-middle attackers can intercept SMTPS connections to leak log messages if the SMTP appender is used with improper certificate validation.

- **Severity:** Low 3.7 (`CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 27 Apr 2020
- **Updated:** 29 May 2026
- **Also known as:** CLEANSTART-2026-HH95708, DEBIAN-CVE-2020-9488, GHSA-vwqq-5vrc-xw9h, UBUNTU-CVE-2020-9488

## What is CVE-2020-9488?

CVE-2020-9488 is a low-severity vulnerability in Debian Debian Linux, published on 27 Apr 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Improper validation of certificate with host mismatch in Apache Log4j SMTP appender. This could allow an SMTPS connection to be intercepted by a man-in-the-middle attack which could leak any log messages sent through that appender. Fixed in Apache Log4j 2.12.3 and 2.13.1

Weakness: CWE-295 (Improper Certificate Validation)

## Which versions are affected by CVE-2020-9488?

12 open source packages ship an affected version, including org.apache.logging.log4j:log4j and org.apache.logging.log4j:log4j-core. It affects 46 products.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `org.apache.logging.log4j:log4j` | Maven | All versions | 2.3.2 |
| `org.apache.logging.log4j:log4j` | Maven | All versions | 2.3.2 |
| `org.apache.logging.log4j:log4j` | Maven | From 2.13.0 | 2.13.2 |
| `org.apache.logging.log4j:log4j` | Maven | From 2.13.0 | 2.13.2 |
| `org.apache.logging.log4j:log4j` | Maven | From 2.4.0 | 2.12.3 |
| `org.apache.logging.log4j:log4j` | Maven | From 2.4.0 | 2.12.3 |
| `org.apache.logging.log4j:log4j-core` | Maven | All versions | 2.3.2 |
| `org.apache.logging.log4j:log4j-core` | Maven | All versions | 2.3.2 |
| `org.apache.logging.log4j:log4j-core` | Maven | From 2.13.0 | 2.13.2 |
| `org.apache.logging.log4j:log4j-core` | Maven | From 2.13.0 | 2.13.2 |
| `org.apache.logging.log4j:log4j-core` | Maven | From 2.4.0 | 2.12.3 |
| `org.apache.logging.log4j:log4j-core` | Maven | From 2.4.0 | 2.12.3 |

Products: Apache Log4j, Debian Debian Linux, Oracle Communications Application Session Controller, Oracle Communications Billing and Revenue Management, Oracle Communications Eagle Ftp Table Base Retrieval, Oracle Communications Offline Mediation Controller, Oracle Communications Services Gatekeeper, Oracle Communications Unified Inventory Management, Oracle Data Integrator, Oracle Enterprise Manager for Peoplesoft, Oracle Financial Services Analytical Applications Infrastructure, Oracle Financial Services Institutional Performance Analytics, Oracle Financial Services Market Risk Measurement and Management, Oracle Financial Services Price Creation and Discovery, Oracle Financial Services Retail Customer Analytics, Oracle Flexcube Core Banking, Oracle Flexcube Private Banking, Oracle Health Sciences Information Manager, Oracle Insurance Insbridge Rating and Underwriting, Oracle Insurance Policy Administration J2ee and 26 more.

## How do I fix CVE-2020-9488?

Upgrade org.apache.logging.log4j:log4j to a fixed version for your release line: 2.3.2, 2.13.2 or 2.12.3.

## Is CVE-2020-9488 being exploited?

There is no known exploitation of CVE-2020-9488 in the wild and no public exploit code.

Public exploit code:

- Demo of CVE-2020-9488: Unsafe logging with Log4j and remediation (github_poc): https://github.com/arsalanraja987/java-log4j-cve-2020-9488

## Other vulnerabilities in Debian Debian Linux

- [CVE-2021-44228](https://insights.sbomify.com/CVE-2021-44228/): Apache Log4j2 Remote Code Execution (critical 10.0, exploited in the wild)
- [CVE-2021-45046](https://insights.sbomify.com/CVE-2021-45046/): Apache Log4j2 Deserialization of Untrusted Data (critical 9.0, exploited in the wild)
- [CVE-2022-23305](https://insights.sbomify.com/CVE-2022-23305/): SQL injection in JDBC Appender in Apache Log4j V1 (critical 9.8)
- [CVE-2017-5645](https://insights.sbomify.com/CVE-2017-5645/): Deserialization of Untrusted Data in Log4j (critical 9.8)
- [CVE-2022-23302](https://insights.sbomify.com/CVE-2022-23302/): Deserialization of untrusted data in JMSSink in Apache Log4j 1.x (high 8.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2020-9488 and fix it if it is affected.

What it is: CVE-2020-9488 is a low-severity vulnerability in Debian Debian Linux, published on 27 Apr 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2020-9488 in the wild and no public exploit code.

Affected packages and fixed versions:
- org.apache.logging.log4j:log4j (Maven): affected all versions; fixed in 2.3.2
- org.apache.logging.log4j:log4j (Maven): affected all versions; fixed in 2.3.2
- org.apache.logging.log4j:log4j (Maven): affected from 2.13.0; fixed in 2.13.2
- org.apache.logging.log4j:log4j (Maven): affected from 2.13.0; fixed in 2.13.2
- org.apache.logging.log4j:log4j (Maven): affected from 2.4.0; fixed in 2.12.3
- org.apache.logging.log4j:log4j (Maven): affected from 2.4.0; fixed in 2.12.3
- org.apache.logging.log4j:log4j-core (Maven): affected all versions; fixed in 2.3.2
- org.apache.logging.log4j:log4j-core (Maven): affected all versions; fixed in 2.3.2
- org.apache.logging.log4j:log4j-core (Maven): affected from 2.13.0; fixed in 2.13.2
- org.apache.logging.log4j:log4j-core (Maven): affected from 2.13.0; fixed in 2.13.2
- org.apache.logging.log4j:log4j-core (Maven): affected from 2.4.0; fixed in 2.12.3
- org.apache.logging.log4j:log4j-core (Maven): affected from 2.4.0; fixed in 2.12.3

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2020-9488/ (Markdown: https://insights.sbomify.com/CVE-2020-9488/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2020-9488
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2020-9488
- OSV: https://osv.dev/vulnerability/CVE-2020-9488

---
From sbomify Insights: https://insights.sbomify.com/CVE-2020-9488/
Summaries are generated and may contain mistakes; the official description above is the record.
