<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[hMailServer 6.2.27: a stripped DS record turned a signed zone unsigned]]></title><description><![CDATA[<p dir="auto">The DNSSEC validator that guards DANE and the SPF, DKIM and DMARC lookups treated a DS query answered with nothing as an unsigned delegation. That is exactly what an attacker stripping the DS in transit shows a resolver: a signed zone quietly became unsigned, and DANE and validated TXT went with it. Anyone relying on DANE or on DNSSEC-validated SPF, DKIM or DMARC was affected.</p>
<p dir="auto"><strong>What the upgrade involved</strong></p>
<p dir="auto">Schema 6030 to 6031: one column on <code>hm_fetchaccounts</code>, added by the installer's database upgrade on every backend. From 6.2.25 or 6.2.26, run the installer. From earlier, read the 6.2.25 and 6.2.24 notes first.</p>
<p dir="auto"><strong>Security</strong></p>
<ul>
<li>A missing DS is now proved missing (RFC 4035 §5.2, RFC 5155 §8). The resolver keeps the authority section of a negative answer and requires the parent's proof there: an NSEC at the delegation name with NS set and DS clear, an NSEC3 whose hashed owner matches with the same bits, or an Opt-Out NSEC3 covering the hash, each signed by the parent's key.</li>
<li>A proof that fails to verify, has expired, claims a DS exists, or belongs to another name is no proof, and a delegation without one under a signed parent is now Bogus and blocked rather than Insecure. An unsigned parent, or a resolver that cannot be reached, still yields Insecure. The chain result is exposed as <code>Diagnostics.DnssecChainStatus</code>.</li>
</ul>
<p dir="auto"><strong>Mail flow</strong></p>
<ul>
<li><code>FetchAccount.MirrorFolders</code> (schema 6031; "Mirror every folder" on an IMAP external account in the Control Panel) collects each remote mailbox into the local folder of the same name: every message byte for byte, with its <code>\Seen \Flagged \Answered \Draft \Deleted</code> flags, its internal date, and the remote hierarchy delimiter mapped to the local one. Nothing is delivered, so no rule, anti-spam or anti-virus touches a copy. Each folder records what it has collected, so a second poll takes only what is new. Days to keep messages 0 makes it a move.</li>
<li>The Import Tool reads a Maildir: the INBOX and every Maildir++ folder beside it, with the flags the file names carry (<code>;2,</code> and <code>!2,</code> as well as <code>:2,</code>) and line endings made CRLF.</li>
<li>An import into a folder a client has open now refreshes it, as a delivery does.</li>
<li><code>Migration.md</code> documents each route in and what it keeps: IMAP, mbox, Maildir, Outlook through IMAP (PST is deliberately not parsed), and bulk accounts.</li>
</ul>
<p dir="auto"><a href="https://www.progressiverobot.com/hmailserver-downloads/" rel="nofollow ugc">Full release notes, checksums and signatures</a></p>
]]></description><link>https://www.hmailserver.co.uk/topic/28181/hmailserver-6.2.27-a-stripped-ds-record-turned-a-signed-zone-unsigned</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 04:31:12 GMT</lastBuildDate><atom:link href="https://www.hmailserver.co.uk/topic/28181.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Sep 2026 01:11:31 GMT</pubDate><ttl>60</ttl></channel></rss>