---
id: "CVE-2026-107569"
kind: "vulnerability"
aliases: ["CVE-2026-107569"]
title: "hMailServer: a crafted loop-count header lets mail flood the server"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["hmailserver", "linux", "mail-server", "package", "self-hosted", "windows"]
not_affected_if: ["patched-version"]
published_at: "2026-10-19T16:17:01+00:00"
first_seen_at: "2026-10-23T21:57:18+00:00"
updated_at: "2026-10-25T03:23:00+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-107569", "first_seen_at": "2026-10-23T21:57:18+00:00"}]
---

# hMailServer: a crafted loop-count header lets mail flood the server

hMailServer 6.0.0 through 6.3.6 fails to bound its auto-forward and auto-reply loop counter when the X-hMailServer-LoopCount header is negative or wraps negative. A remote sender can make a message loop about two billion times, filling the mail queue and disk and stopping mail service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed hMailServer version in the Administrator console or the installed program files; affected versions are 6.0.0 through 6.3.6.
- Review Sieve scripts and rules that use editheader or Set header value on X-hMailServer-LoopCount, since an account can reset the counter.

## Fix

- Upgrade hMailServer to a version after 6.3.6; the fixed release is unknown from the sources given.
- Until patched, watch the queue and disk for runaway growth from forwarding or auto-reply rules.

## Timeline

- 2026-10-23T21:57:18+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-107569

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
