NGINX project maintainers fix flaws in LDAP Reference Implementation

2 years ago 137
BOOK THIS SPACE FOR AD
ARTICLE AD

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:

Command-line parameters are used to configure the Python daemonThere are unused, optional configuration parametersLDAP 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.

Update: We've gotten our hands on an experimental exploit for Nginx 1.18. As we've been testing it, a handful of companies and corporations have fallen under it. A full list of tested companies will be supplied below:

— BlueHornet | AgainstTheWest | APT49 (@_Blue_hornet) April 9, 2022

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

Pierluigi Paganini

(SecurityAffairs – hacking, LDAP)

Read Entire Article