LDAP Injection Affecting maddy package, versions <0.9.3-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.52% (42nd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-ALPINE324-MADDY-17301438
  • published11 Jun 2026
  • disclosed16 Apr 2026

Introduced: 16 Apr 2026

CVE-2026-40193  (opens in a new tab)
CWE-90  (opens in a new tab)

How to fix?

Upgrade Alpine:3.24 maddy to version 0.9.3-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream maddy package and not the maddy package as distributed by Alpine. See How to fix? for Alpine:3.24 relevant fixed versions and status.

maddy is a composable, all-in-one mail server. Versions prior to 0.9.3 contain an LDAP injection vulnerability in the auth.ldap module where user-supplied usernames are interpolated into LDAP search filters and DN strings via strings.ReplaceAll() without any LDAP filter escaping, despite the go-ldap/ldap/v3 library's ldap.EscapeFilter() function being available in the same import. This affects three code paths: the Lookup() filter, the AuthPlain() DN template, and the AuthPlain() filter. An attacker with network access to the SMTP submission or IMAP interface can inject arbitrary LDAP filter expressions through the username field in AUTH PLAIN or LOGIN commands. This enables identity spoofing by manipulating filter results to authenticate as another user, LDAP directory enumeration via wildcard filters, and blind extraction of LDAP attribute values using authentication responses as a boolean oracle or via timing side-channels between the two distinct failure paths. This issue has been fixed in version 0.9.3.