CVE-2024-28820
Medium · 6.3CVSS
6.3
EPSS
0.4%
Published
Jun 27, 2024
CISA due date
—
Cloudanix analysis
A flaw in an OpenVPN add-on that checks passwords against a company directory lets attackers who already have a valid login send a specially made password to take over or crash the VPN service.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Buffer overflow in extract_openvpn_cr triggered by a challenge/response password field containing more than 14 colons, allowing memory corruption when processing LDAP authentication responses.
Why it matters to the business
Attackers with valid LDAP credentials can potentially execute arbitrary code or crash the VPN authentication process, leading to unauthorized network access or denial of VPN service for users relying on LDAP-backed OpenVPN deployments.
How an attack unfolds
An attacker obtains a valid LDAP username, then supplies a specially crafted challenge/response password containing excessive colons through the OpenVPN client to the vulnerable openvpn-auth-ldap plugin, overflowing the buffer in extract_openvpn_cr and achieving memory corruption.
How to fix it
Upgrade openvpn-auth-ldap to a version containing a fix for the buffer overflow in extract_openvpn_cr; if no patched release is available, replace the plugin with an alternative LDAP authentication method or disable the affected functionality.
How to confirm the fix worked
Verify the installed version of openvpn-auth-ldap is not 2.0.4, review source code or binary for the vulnerable extract_openvpn_cr function, and test authentication flows with a password containing 15 or more colons to confirm the overflow is no longer triggered.
Typical attack path
- Acquire valid LDAP username and password access
- Craft authentication response containing more than 14 colon characters in the challenge field
- Initiate OpenVPN connection using the LDAP-authenticated profile
- Trigger buffer overflow during response parsing in openvpn-cr.c
- Leverage memory corruption for code execution or service disruption
How to detect it
Search OpenVPN and LDAP authentication logs for password or response fields containing 15 or more colon characters, unusual length in challenge/response data, or repeated failed authentication attempts originating from the same source during LDAP-backed sessions.
- extract_openvpn_cr
- openvpn-cr.c
- challenge/response password field containing more than 14 colons
What your security team should do
- Immediately audit all OpenVPN deployments for use of openvpn-auth-ldap 2.0.4 and prioritize upgrade or replacement
- Monitor authentication logs for unusually long password fields or repeated colon characters during LDAP auth attempts
- Implement network segmentation and least-privilege access around VPN concentrators until remediation is complete
- Review and restrict LDAP account permissions used for VPN authentication to limit blast radius
The record
Buffer overflow in the extract_openvpn_cr function in openvpn-cr.c in openvpn-auth-ldap (aka the Three Rings Auth-LDAP plugin for OpenVPN) 2.0.4 allows attackers with a valid LDAP username and who can control the challenge/response password field to pass a string with more than 14 colons into this field and cause a buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.21 | openvpn-auth-ldap | 0 | 2.0.4-r7 |
| Alpine:v3.22 | openvpn-auth-ldap | 0 | 2.0.4-r7 |
| Debian:11 | openvpn-auth-ldap | 0 | No fix |
| Debian:12 | openvpn-auth-ldap | 0 | No fix |
| Debian:13 | openvpn-auth-ldap | 0 | 2.0.4-4 |
| Debian:14 | openvpn-auth-ldap | 0 | 2.0.4-4 |
| Ubuntu:16.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:18.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:20.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:22.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:24.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:24.10 | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:25.04 | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:25.10 | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openvpn-auth-ldap | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | openvpn-auth-ldap | 0 | No fix |
Related vulnerabilities
- CVE-2026-92824 A flaw was found in libmodulemd. CWE-125
- CVE-2026-114038 A flaw was found in device-mapper-multipath. CWE-125
- CVE-2026-112896 Pillow is a Python imaging library. CWE-125
- CVE-2026-112278 rdesktop through 1.9.0 contains a heap out-of-bounds read vulnerability in… CWE-125
- CVE-2026-112273 libtins through 4.6 contains a heap out-of-bounds read vulnerability in DNS::compose_name… CWE-125
- CVE-2026-112073 A vulnerability was identified in Tencent ncnn up to 44b02dabdcf97499281a4692ebd65bad73dc… CWE-125
- CVE-2026-112020 LodePNG through 20261006 contains a heap out-of-bounds read vulnerability in… CWE-125
- CVE-2026-88842 A flaw was found in BusyBox dpkg. CWE-125