Cloudanix VulnDB

CVE-2024-28820

Medium · 6.3

CVSS

6.3

EPSS

0.4%

Published

Jun 27, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Acquire valid LDAP username and password access
  2. Craft authentication response containing more than 14 colon characters in the challenge field
  3. Initiate OpenVPN connection using the LDAP-authenticated profile
  4. Trigger buffer overflow during response parsing in openvpn-cr.c
  5. 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