NGINX project maintainers fix flaws in LDAP Reference Implementation

Pierluigi Paganini April 12, 2022

The maintainers of the NGINX web server project addressed a zero-day vulnerability in the Lightweight Directory Access Protocol (LDAP) Reference Implementation.

The maintainers of the NGINX web server project have released security updates to address a zero-day vulnerability that resides in its Lightweight Directory Access Protocol (LDAP) Reference Implementation.

The NGINX LDAP reference implementation uses LDAP to authenticate users of applications that are proxied by the NGINX web server.

NGINX Open Source and NGINX Plus are not affected, states the security advisory published by the company.

“Project maintainers addressed the security vulnerabilities in the NGINX LDAP reference implementation were publicly shared. We have determined that only the reference implementation is affected. NGINX Open Source and NGINX Plus are not themselves affected, and no corrective action is necessary if you do not use the reference implementation.” reads the advisory.

The advisory states that the LDAP reference implementation is impacted by the vulnerabilities when one of the following conditions apply:

  1. Command-line parameters are used to configure the Python daemon
  2. There are unused, optional configuration parameters
  3. LDAP authentication depends on specific group membership

An attacker could override the configuration parameters by sending specially crafted HTTP request headers and even bypass LDAP authentication.

“The Python daemon does not sanitize its inputs. Consequently, an attacker can use a specially crafted request header to bypass the group membership (memberOf) check and so force LDAP authentication to succeed even if the user being authenticated does not belong to the required groups. To mitigate against this, ensure that the backend daemon that presents the login form strips any special characters from the username field. In particular, it must remove the opening and closing parenthesis characters – ( ) – and the equal sign (=), which all have special meaning for LDAP servers.” continues the advisory. “The backend daemon in the LDAP reference implementation will be updated in this way in due course.”

NGINX project maintainers recommend users to strip special characters from the username field in the login form and update appropriate configuration parameters with an empty value (“”).

The advisory recommends removing the opening and closing parenthesis characters (“(” and “)”) and the equal sign (“=”), which all have special meaning for LDAP servers.

The flaws have been reported by Lucas Verney, valodzka and @_Blue_hornet.

Please vote for Security Affairs as the best European Cybersecurity Blogger Awards 2022 – VOTE FOR YOUR WINNERS
Vote for me in the sections “The Underdogs – Best Personal (non-commercial) Security Blog” and “The Tech Whizz – Best Technical Blog” and others of your choice.
To nominate, please visit: 
https://docs.google.com/forms/d/e/1FAIpQLSfxxrxICiMZ9QM9iiPuMQIC-IoM-NpQMOsFZnJXrBQRYJGCOw/viewform  

Follow me on Twitter: @securityaffairs and Facebook

[adrotate banner=”9″][adrotate banner=”12″]

Pierluigi Paganini

(SecurityAffairs – hacking, LDAP)

[adrotate banner=”5″]

[adrotate banner=”13″]



you might also like

leave a comment