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.

Gurubaran

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

Threat Actors Exploit Google Docs And Weebly Services For Malware Attacks

Phishing attackers used Google Docs to deliver malicious links, bypassing security measures and redirecting victims…

9 hours ago

Python NodeStealer: Targeting Facebook Business Accounts to Harvest Login Credentials

The Python-based NodeStealer, a sophisticated info-stealer, has evolved to target new information and employ advanced…

9 hours ago

XSS Vulnerability in Bing.com Let Attackers Send Crafted Malicious Requests

A significant XSS vulnerability was recently uncovered in Microsoft’s Bing.com, potentially allowing attackers to execute…

12 hours ago

Meta Removed 2 Million Account Linked to Malicious Activities

 Meta has announced the removal of over 2 million accounts connected to malicious activities, including…

15 hours ago

Veritas Enterprise Vault Vulnerabilities Lets Attackers Execute Arbitrary Code Remotely

Critical security vulnerability has been identified in Veritas Enterprise Vault, a widely-used archiving and content…

16 hours ago

7-Zip RCE Vulnerability Let Attackers Execute Remote Code

A critical security vulnerability has been disclosed in the popular file archiving tool 7-Zip, allowing…

16 hours ago