CVE-2026-107569High· 7.5▾ TwilightUnchecked input for a loop condition in Progressive Robot hMailServer 6.0.0 through 6.3.6 allows a remote unauthenticated attacker to stop the server carrying mail. The server bounds the mail it generates in response to a message - a rul…
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 41.3 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Unchecked input for a loop condition in Progressive Robot hMailServer 6.0.0 through 6.3.6 allows a remote unauthenticated attacker to stop the server carrying mail. The server bounds the mail it generates in response to a message - a rule forward, reply or copy, an account forward, a Sieve redirect, vacation or notify, a bounce, an out-of-office reply - by a counter it carries in the message's X-hMailServer-LoopCount header, and makes no more once the counter reaches the configured rule loop limit (5 by default); that is what ends a forwarding or auto-reply cycle in a bounded number of hops. X-hMailServer-LoopCount is an ordinary header that is not stripped from mail arriving from outside, and the server read it with a signed conversion and no validation, so a count below zero passed every test against the limit: a sender who sets X-hMailServer-LoopCount to a negative value, or on the Linux builds to a value above the 32-bit signed range that the conversion wraps to a negative one, lifts the bound, and a message that enters a generated-mail cycle then loops up to about two thousand million times, each hop a queued message and a delivery, filling the queue and disk and stopping mail service. The Sieve notify action (from 6.2.22) consulted no limit at all, and its increment of the count could overflow a signed integer; and an account could reset the counter on its own mail through a Sieve editheader of the header (from 6.2.22) or a rule Set header value action (all versions) ahead of a forward or redirect.
hMailServer >= 6.0.0 <= 6.3.6Upgrade to hMailServer 6.3.7, which reads X-hMailServer-LoopCount in one validated place (a count only when it is digits and never above the limit; anything else is read as the limit so no generated mail is made from it), holds a Sieve notify to the same limit, and refuses an account Sieve script or rule that edits the counter, and writes a line break in a header value as spaces unless it folds the line, so that no value a generated message is built from writes a field of its own. Until then there is no setting that stops the header being read or that turns Sieve off: reduce forwarding and auto-reply arrangements that can feed one another, keep the Sieve script surfaces closed to accounts (ManageSieveServerPort=0, the default, and the REST API off where it is not needed, RestApiPort=0, the default), review active Sieve scripts and account rules for a notify of the account's own address and for an edit of X-hMailServer-LoopCount, and watch the queue for a message generated far past the loop limit.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-107571High· 7.8Incorrect Default Permissions in hMailServer
CVE-2026-107567High· 7.5Use of Less Trusted Source in hMailServer
CVE-2026-107568Medium· 6.5Missing Authorization in hMailServer
CVE-2026-107566Medium· 6.5Missing Authorization in hMailServer
CVE-2026-107586Medium· 4.3Uncontrolled eviction in the browser session table of the REST API in Progressive Robot hMailServer 6.2.28 through 6.3.5 allows a remote authenticated user to end other users' sessions
CVE-2026-107585Medium· 5.3Uncontrolled eviction in the pending sign-in tables of the REST API in Progressive Robot hMailServer 6.3.4 and 6.3.5 allows a remote unauthenticated attacker to make other users' OpenID Connect, SAML and passkey sign-ins fail