CVE-2020-14928
Medium · 5.9CVSS
5.9
EPSS
2.8%
Published
Jul 17, 2020
CISA due date
—
Cloudanix analysis
Email software used by many applications has a flaw that can let someone in the middle tamper with secure connections to mail servers and potentially run unwanted commands.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Library
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability is a STARTTLS buffering flaw in evolution-data-server that causes additional data following a server "begin TLS" response to be read and processed within an established TLS context for SMTP and POP3, enabling response injection that can result in command execution or protocol manipulation.
Why it matters to the business
Organizations using affected versions face risk of email account compromise or data tampering over SMTP/POP3 connections, increasing exposure to unauthorized access; the issue has been public for years with public exploits available, though low EPSS indicates limited observed in-the-wild use so far.
How an attack unfolds
An attacker intercepts or proxies SMTP/POP3 traffic, waits for the server STARTTLS response, injects crafted data that gets buffered and later interpreted inside the TLS session, and uses the resulting command injection to issue unauthorized protocol commands or exfiltrate credentials without proper TLS protection.
How to fix it
Upgrade evolution-data-server to the fixed commit ba82be72cfd427b5d72ff21f929b3a6d8529c4df or later releases that contain the buffering fix; rebuild and redeploy any dependent applications; verify no custom builds retain the vulnerable code paths.
How to confirm the fix worked
Confirm the installed package reports a version containing commit ba82be72cfd427b5d72ff21f929b3a6d8529c4df; run regression tests exercising STARTTLS negotiation on SMTP and POP3; monitor for unexpected protocol responses during encrypted sessions.
Typical attack path
- Position as network intermediary on SMTP or POP3 traffic path
- Observe client connection and server STARTTLS response
- Inject additional protocol data into the response buffer
- Allow client to proceed into TLS session where injected data is processed
- Execute injected commands to manipulate authentication, retrieve messages, or alter session state
How to detect it
Search mail server and client logs for unexpected protocol data immediately after STARTTLS responses; inspect network captures for injected commands inside what should be TLS-protected sessions; review process execution logs for anomalous SMTP or POP3 command sequences originating from the affected library.
- unexpected data following STARTTLS 220 response in SMTP/POP3 logs
- TLS session containing protocol commands not preceded by proper handshake completion
- evolution-data-server process handling injected responses in SMTP or POP3 flows
What your security team should do
- Prioritize patching all instances of evolution-data-server to the fixed commit within standard change windows
- Review email client configurations that rely on this library and enforce certificate pinning where possible
- Add network monitoring for anomalous SMTP/POP3 traffic patterns during TLS negotiation
The record
evolution-data-server (eds) through 3.36.3 has a STARTTLS buffering issue that affects SMTP and POP3. When a server sends a "begin TLS" response, eds reads additional data and evaluates it in a TLS context, aka "response injection."
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | bogofilter | 0 | 1.2.5-2.el8 |
| AlmaLinux:8 | evolution-data-server-doc | 0 | 3.28.5-14.el8 |
| AlmaLinux:8 | evolution-data-server-perl | 0 | 3.28.5-14.el8 |
| AlmaLinux:8 | evolution-data-server-tests | 0 | 3.28.5-14.el8 |
| AlmaLinux:8 | evolution-devel | 0 | 3.28.5-14.el8 |
| Debian:10 | evolution-data-server | 0 | 3.30.5-1+deb10u1 |
| Debian:11 | evolution-data-server | 0 | 3.36.4-1 |
| Debian:12 | evolution-data-server | 0 | 3.36.4-1 |
| Debian:13 | evolution-data-server | 0 | 3.36.4-1 |
| Debian:9 | evolution-data-server | 0 | 3.22.7-1+deb9u1 |
| Mageia:7 | evolution-data-server | 0 | 3.32.2-1.2.mga7 |
| Red Hat:enterprise_linux:8::appstream | bogofilter | 0 | 0:1.2.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | bogofilter-debuginfo | 0 | 0:1.2.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | bogofilter-debugsource | 0 | 0:1.2.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-bogofilter | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-bogofilter-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-debugsource | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-devel | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-doc | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-langpacks | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-perl | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-tests | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-data-server-tests-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-debugsource | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-devel | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-help | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-langpacks | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-mapi | 0 | 0:3.28.3-3.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-mapi-debuginfo | 0 | 0:3.28.3-3.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-mapi-debugsource | 0 | 0:3.28.3-3.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-mapi-langpacks | 0 | 0:3.28.3-3.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-pst | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-pst-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-spamassassin | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | evolution-spamassassin-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::appstream | openchange | 0 | 0:2.3-26.el8 |
| Red Hat:enterprise_linux:8::appstream | openchange-client-debuginfo | 0 | 0:2.3-26.el8 |
| Red Hat:enterprise_linux:8::appstream | openchange-debuginfo | 0 | 0:2.3-26.el8 |
| Red Hat:enterprise_linux:8::appstream | openchange-debugsource | 0 | 0:2.3-26.el8 |
| Red Hat:enterprise_linux:8::crb | evolution | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-bogofilter | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-bogofilter-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-debugsource | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-devel | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-doc | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-langpacks | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-perl | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-tests | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-data-server-tests-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-debugsource | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-devel | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-help | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-langpacks | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-pst | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-pst-debuginfo | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-spamassassin | 0 | 0:3.28.5-14.el8 |
| Red Hat:enterprise_linux:8::crb | evolution-spamassassin-debuginfo | 0 | 0:3.28.5-14.el8 |
| Rocky Linux:8 | bogofilter | 0 | 0:1.2.5-2.el8 |
| Rocky Linux:8 | evolution-mapi | 0 | 0:3.28.3-3.el8 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | evolution-data-server | 0 | 3.22.7-18.7.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | evolution-data-server | 0 | 3.20.6-17.3.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | evolution-data-server | 0 | 3.22.7-18.7.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP2 | evolution-data-server | 0 | 3.34.4-3.3.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP2 | evolution-ews | 0 | 3.34.4-3.3.1 |
| Ubuntu:16.04:LTS | evolution-data-server | 0 | 3.18.5-1ubuntu1.3 |
| Ubuntu:18.04:LTS | evolution-data-server | 0 | 3.28.5-0ubuntu0.18.04.3 |
| Ubuntu:20.04:LTS | evolution-data-server | 0 | 3.36.3-0ubuntu1.1 |
| openSUSE:Leap 15.2 | evolution-data-server | 0 | 3.34.4-lp152.2.3.1 |
| openSUSE:Leap 15.2 | evolution-ews | 0 | 3.34.4-lp152.2.3.1 |
| openSUSE:Tumbleweed | evolution-data-server | 0 | 3.40.4-1.4 |
Related vulnerabilities
- CVE-2020-1472 An elevation of privilege vulnerability exists when an attacker establishes a vulnerable… Also affects openchange
- CVE-2026-114577 A vulnerability was found in oretnom23 php-travel-agency-system. CWE-74
- CVE-2026-114575 A flaw has been found in TOTOLINK A950RG 4.1.2cu.5268_B20221104. CWE-74
- CVE-2026-112150 A security flaw has been discovered in vraj404 Criminal-Management-System up to… CWE-74
- CVE-2026-112141 A vulnerability was determined in satya-vinay Events-Management-System up to… CWE-74
- CVE-2026-112100 A vulnerability was determined in DeepPavlov up to 1.7.0. CWE-74
- CVE-2026-112087 A weakness has been identified in itsourcecode Online Cake Ordering System 1.0. CWE-74
- CVE-2026-111991 A security vulnerability has been detected in WongKinYiu yolov9 0.1. CWE-74