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 Linkedin, Twitter, Facebook 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

Hackers Use ConnectWise SkyKick Credentials to Access Microsoft 365, Halting Cloud Backups

Attackers abused compromised ConnectWise Cloud Backup credentials to access Microsoft 365 customer environments, prompting ConnectWise…

1 day ago

Anthropic’s Claude AI Uncovers Origins of NSA-Provided Cryptographic Keys After 25 Years

Anthropic says an internal Claude research model reconstructed how the National Security Agency generated seeds…

1 day ago

Critical WordPress Flaws Allow Attackers to Execute Remote Code Without Authentication

Two WordPress Core vulnerabilities can be chained to execute remote code without authentication, according to…

1 day ago

OpenBSD Kernel Flaw Dating Back 37 Years Enables Local Privilege Escalation to Root

A newly disclosed OpenBSD kernel exploitation chain combines a shared memory accounting flaw with a…

1 day ago

GhostAction Hackers Hide Credential-Stealing Malware in Fake Font Files Across 94 GitHub Repositories

GhostAction attackers have expanded their GitHub credential theft campaign with a second stage that disguises…

1 day ago

SideCopy Hackers Target Indian Organizations With ReverseRAT Malware to Steal Data

Indian authorities have warned that SideCopy hackers are targeting Indian organizations, including academic institutions, with…

1 day ago