NGINX Web Server Project Addressed a zero-day Flaw in LDAP Implementation

A zero-day vulnerability in NGINX’s LDAP Reference Implementation has been fixed by the maintainers of the NGINX web server project. The security update was released in response to this vulnerability.

The app users who are proxied by the NGINX web server, the NGINX LDAP reference implementation utilizes the Lightweight Directory Access Protocol (LDAP) to authenticate.

In an advisory, Liam Crilly and Timo Stark of F5 Networks stated:-

“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.”

“There is no need to change anything if you are not using the reference implementation, and no other corrective action is necessary if you are using the NGINX Open Source or NGINX Plus since they are not affected.”

Mitigating Conditions

Based on its response, NGINX says only three conditions are impacting the reference implementation, which uses LDAP for authentication. And here they are:-

  • Command-Line Parameters Are Used to Configure the Python Daemon

According to what is detailed in the sample configuration, and in the documentation as well, the main method of configuring the LDAP reference implementation is to use a number of proxy_set_header directives.

It is also possible to set the parameters of the configuration through the command line nginx-ldap-auth-daemon.py to initialize the Python daemon.

You can prevent this from happening by adding the following configuration to the location = /auth-proxy block in the NGINX configuration (nginx-ldap-auth.conf in the repo) in order to ensure that all extraneous request headers are ignored during authentication.

  • Unused, Optional Configuration Parameters

It is possible for an attacker to override certain configuration parameters in a configuration by passing specially crafted HTTP request headers if those parameters aren’t set in the configuration.

In order to defend, it will only be necessary to add the following configuration to the location = /auth-proxy block in the NGINX configuration file.

  • LDAP Group Membership Is Required

Since the Python daemon does not sanitize its inputs that’s why they become vulnerable to being bypassed by an attacker with a specially crafted request header through which they evade the group membership (memberOf) check.

Moreover, the LDAP authentication can also be forced to succeed regardless of whether the user to be authenticated is not a member of the required group.

If you wish to mitigate this issue, make sure that the backend daemon that displays the login form strips the username field of all special characters.

Here users have to modify the two characters, and here they are:-

  • Parenthesis characters – ( ) –
  • The equal sign (=)

While apart from this, these two characters have distinct meanings for the LDAP servers. Moreover, it is intended that the LDAP daemon in the LDAP reference implementation will be updated in this manner in the near future.

LDAP implementers made it clear that the reference implementation of LDAP is mainly concerned with protocols.

You can follow us on LinkedinTwitterFacebook for daily Cybersecurity and hacking news updates.

Guru baran

Gurubaran is a co-founder of Cyber Security News and GBHackers On Security. He has 10+ years of experience as a Security Consultant, Editor, and Analyst in cybersecurity, technology, and communications.

Recent Posts

Hackers Use Custom Backdoor & Powershell Scripts to Attack Windows Machines

The Damselfly Advanced Persistent Threat (APT) group, also known as APT42, has been actively utilizing custom backdoor variants, NiceCurl and…

48 mins ago

Europe’s Most Wanted Teenage Hacker Arrested

Julius “Zeekill” Kivimäki, once Europe's most wanted teenage hacker, has been arrested. Kivimäki, known for his involvement with the notorious Lizard Squad, was apprehended after a series of…

2 hours ago

Tinyproxy Flaw Let Attackers Execute Remote Code

A security flaw has been identified in Tinyproxy, a lightweight HTTP/HTTPS proxy daemon widely used in small network environments. The…

4 hours ago

Linksys Router Flaw Let Attackers Perform Command Injection, PoC Released

Linksys routers were discovered with two vulnerabilities: CVE-2024-33788 and CVE-2024-33789. These vulnerabilities were associated with Command Injection on Linksys routers.…

4 hours ago

Ex-Cybersecurity Consultant Jailed For Trading Confidential Data

Vincent Cannady, a professional who used to work as a consultant in the cybersecurity field, has been taken into custody…

2 days ago

Mal.Metrica Malware Hijacks 17,000+ WordPress Sites

Infected websites mimic legitimate human verification prompts (CAPTCHAs) to trick users, who often request seemingly innocuous clicks, resembling past CAPTCHA…

3 days ago