IT SBIT Services
Schneeberger
DEEN
CVE tracker

Progressive Robot hMailServer: Auto-ban bypass via long user names

CVE-2026-126618Medium 5.3

← All vulnerabilities

Summary

hMailServer 6.0.0-B1 through 6.3.7 can fail to ban an IP address after repeated failed logons when the user name is long or contains special characters, because the auto-ban range cannot be saved. An unauthenticated remote attacker who connects from two or more addresses can keep guessing passwords over SMTP AUTH, IMAP and POP3, and over ManageSieve, CalDAV/CardDAV and the REST API where these are enabled (off by default). The attack is not blocked by the default auto-ban settings.

Affected

  • hMailServer 6.0.0-B1 through 6.3.7
  • All database engines; Windows builds throughout, Linux builds from 6.3.0
  • Not affected by default configuration only if the vulnerable protocols are not reachable; the auto-ban itself is affected

Fixed in

  • hMailServer 6.3.8

Workaround

  • No vendor workaround for MySQL, MariaDB or SQL Server.
  • On PostgreSQL, MaxInvalidLogonAttempts 1 avoids the issue for accounts whose address is shorter than 78 characters.
  • Keep ManageSieve, CalDAV/CardDAV and the REST API disabled if they are not needed.

Exploitation

  • Not known to be exploited (OffSeq aggregator).
  • No public proof of concept found at the time of writing.

Our recommendation

  • Upgrade to hMailServer 6.3.8 in the next maintenance window, sooner if the server is internet-exposed and uses weak passwords. On MySQL or MariaDB, 6.3.8 requires MySQL 5.7.9 or MariaDB 10.2.2 or later and the ALTER privilege.
  • Before rollout, test direct mail delivery: a vendor forum report describes delayed delivery to some domains on 6.3.7 and 6.3.8 (unverified).
  • Enforce strong, unique passwords for all mail accounts.
  • Monitor the error log for ban-save failures (HM5032, and HM6099 from 6.2.19).

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 11 Nov 2026, 17:53.

Original description (NVD)

The auto-ban of Progressive Robot hMailServer 6.0.0-B1 through 6.3.7 can be kept from banning an address after repeated failed logons, which allows a remote unauthenticated attacker who can connect from two or more addresses to go on guessing account passwords - over SMTP AUTH, IMAP and POP3, and over ManageSieve, CalDAV/CardDAV and the REST API where those are turned on (off by default) - without being banned. When the failed logons counted from one address reach MaxInvalidLogonAttempts (3 by default), the server clears that address's count, saves an IP range that refuses the address for AutoBanMinutes (60 by default) and drops the connection. The range is named "Auto-ban: " followed by the user name of the logon that reached the limit, and no two ranges may have the same name. The server chooses the name by checking candidates as written - the name, then the name with a number, a random suffix or a GUID added - and only then cuts it to the 100 characters the database column holds, so that with a user name of 90 characters or more every candidate is the same once cut. While one range named after such a user name stands, every later ban named after a user name with the same first 90 characters therefore fails at the database: no range is saved, the address is not refused, and, its count having already been cleared, it is given the next full set of attempts. A user name of 78 to 89 characters makes later bans fail in the same way: from the second, the third or the twelfth on, depending on its length and the database, or, from 78 to 85 characters, by chance. An attacker who has once had an address banned under such a name can in this way keep guessing passwords from any other address, ending each set of attempts with a logon under a name of that kind; each failed save is reported in the server's error log (as the database error HM5032, and from 6.2.19 also as HM6099). On SQL Server a user name holding characters outside the database's code page has the same effect at any length, because the check compared names in that code page; that save is refused by the server's own check of the name, with no database error, and is reported only from 6.2.19 (HM6099). A user name holding a NUL character, which the web services listener's HTTP Basic sign-in (off by default) carries from 6.3.3 and, on the Linux builds, IMAP LOGIN, offered as installed, from 6.3.0, makes bans fail at any length: on MySQL, MariaDB and PostgreSQL the statements that check the name and save the range end at the character, so that every ban named after such a name fails, from the first and from a single address, and, its count having already been cleared, the address is given the next full set of attempts; on SQL Server and SQL Server Compact the name is bound only as far as the character, so that while one range under the part before it stands, every later ban named after such a name fails. On SQL Server, and on MySQL and MariaDB for an account whose local part has nine characters or more, a guess at the account can itself carry a name of that kind, since those databases find an account under its address followed by spaces (and SQL Server also under one holding characters its comparison ignores), so that not even a MaxInvalidLogonAttempts of 1, which bans each failed logon under the name it gave, avoids it there.

NVD references (2)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.