CVE-2021-42096
Medium · 4.3CVSS
4.3
EPSS
1.3%
Published
Oct 21, 2021
CISA due date
—
Cloudanix analysis
An old flaw in generating security checks could have let someone guess an admin password to take over control of the system.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Application
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability stems from a cryptographic weakness where the CSRF token is derived directly from the administrator password, enabling offline brute-force attacks to recover the password.
Why it matters to the business
Attackers could gain elevated privileges, potentially compromising email list management systems and exposing sensitive communications or allowing unauthorized administrative actions. The issue affects an old component in chatwoot with a known fix available for nearly five years.
How an attack unfolds
An attacker obtains a valid CSRF token, then uses it to perform offline brute-force against the admin password derivation, recovering the password for privilege escalation.
How to fix it
Upgrade chatwoot to the fixed commit a737f89c473e64f9abdf8ff13a3e64edefa28877 or later.
How to confirm the fix worked
Verify the commit hash in the deployed version and test that CSRF tokens are no longer derived from the password.
Typical attack path
- Obtain a CSRF token value from the application
- Analyze the token derivation logic to identify password dependency
- Perform brute-force computation to recover the admin password
- Use recovered credentials for privilege escalation
How to detect it
Look in application logs for repeated failed admin logins or unusual token usage patterns; check for presence of brute-force attempts on password hashes if logged.
What your security team should do
- Apply the specified commit update immediately
- Review and rotate admin passwords
- Monitor for any anomalous admin access attempts
The record
GNU Mailman before 2.1.35 may allow remote Privilege Escalation. A certain csrf_token value is derived from the admin password, and may be useful in conducting a brute-force attack against that password.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | mailman | 0 | 3:2.1.29-12.module_el8.5.0+26+48d4c9ee.2 |
| AlmaLinux:8 | mailman | 0 | 3:2.1.29-12.module_el8.5.0+2601+e8845b76.1 |
| AlmaLinux:8 | mailman | 0 | 3:2.1.29-12.module_el8.5.0+2602+327eb9f3.2 |
| Debian:10 | mailman | 0 | 1:2.1.29-1+deb10u2 |
| Debian:9 | mailman | 0 | 1:2.1.23-1+deb9u7 |
| Red Hat:enterprise_linux:8::appstream | mailman | 0 | 3:2.1.29-12.module+el8.5.0+13211+e8845b76.1 |
| Red Hat:enterprise_linux:8::appstream | mailman-debuginfo | 0 | 3:2.1.29-12.module+el8.5.0+13211+e8845b76.1 |
| Red Hat:enterprise_linux:8::appstream | mailman-debugsource | 0 | 3:2.1.29-12.module+el8.5.0+13211+e8845b76.1 |
| Red Hat:rhel_eus:8.1::appstream | mailman | 0 | 3:2.1.29-4.module+el8.1.0+13242+45286865.1 |
| Red Hat:rhel_eus:8.1::appstream | mailman-debuginfo | 0 | 3:2.1.29-4.module+el8.1.0+13242+45286865.1 |
| Red Hat:rhel_eus:8.1::appstream | mailman-debugsource | 0 | 3:2.1.29-4.module+el8.1.0+13242+45286865.1 |
| Red Hat:rhel_eus:8.2::appstream | mailman | 0 | 3:2.1.29-4.module+el8.2.0+13241+705a6aa4.3 |
| Red Hat:rhel_eus:8.2::appstream | mailman-debuginfo | 0 | 3:2.1.29-4.module+el8.2.0+13241+705a6aa4.3 |
| Red Hat:rhel_eus:8.2::appstream | mailman-debugsource | 0 | 3:2.1.29-4.module+el8.2.0+13241+705a6aa4.3 |
| Red Hat:rhel_eus:8.4::appstream | mailman | 0 | 3:2.1.29-11.module+el8.4.0+13212+81332387.1 |
| Red Hat:rhel_eus:8.4::appstream | mailman-debuginfo | 0 | 3:2.1.29-11.module+el8.4.0+13212+81332387.1 |
| Red Hat:rhel_eus:8.4::appstream | mailman-debugsource | 0 | 3:2.1.29-11.module+el8.4.0+13212+81332387.1 |
| Rocky Linux:8 | mailman | 0 | 3:2.1.29-12.module+el8.5.0+717+27fd1ba7.2 |
| SUSE:HPE Helion OpenStack 8 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server 12 SP5 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:OpenStack Cloud 8 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:OpenStack Cloud 9 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:OpenStack Cloud Crowbar 8 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:OpenStack Cloud Crowbar 9 | mailman | 0 | 2.1.17-3.26.1 |
| SUSE:Package Hub 15 SP2 | mailman | 0 | 2.1.35-bp152.7.6.1 |
| Ubuntu:18.04:LTS | mailman | 0 | 1:2.1.26-1ubuntu0.4 |
| Ubuntu:20.04:LTS | mailman | 0 | 1:2.1.29-1ubuntu3.1 |
| Ubuntu:Pro:16.04:LTS | mailman | 0 | 1:2.1.20-1ubuntu0.6+esm1 |
| openSUSE:Leap 15.2 | mailman | 0 | 2.1.35-lp152.7.6.1 |
Related vulnerabilities
- CVE-2021-44227 In GNU Mailman before 2.1.38, a list member or moderator can get a CSRF token and craft… Also affects mailman
- CVE-2021-42097 GNU Mailman before 2.1.35 may allow remote Privilege Escalation. Also affects mailman
- CVE-2020-15011 GNU Mailman before 2.1.33 allows arbitrary content injection via the Cgi/private.py… Also affects mailman
- CVE-2020-12108 /options/mailman in GNU Mailman before 2.1.31 allows Arbitrary Content Injection. Also affects mailman
- CVE-2021-43331 In GNU Mailman before 2.1.36, a crafted URL to the Cgi/options.py user options page can… Also affects mailman
- CVE-2021-43332 In GNU Mailman before 2.1.36, the CSRF token for the Cgi/admindb.py admindb page contains… Also affects mailman
- CVE-2018-0618 Cross-site scripting vulnerability in Mailman 2.1.26 and earlier allows remote… Also affects mailman
- CVE-2018-5950 Cross-site scripting (XSS) vulnerability in the web UI in Mailman before 2.1.26 allows… Also affects mailman