{"api_version":"1","generated_at":"2026-10-19T23:06:23+00:00","cve":"CVE-2026-107568","urls":{"html":"https://cve.report/CVE-2026-107568","api":"https://cve.report/api/cve/CVE-2026-107568.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-107568","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-107568"},"summary":{"title":"Missing Authorization in hMailServer","description":"Missing authorization in the Sieve notify action (6.2.22 through 6.3.6) and in the mail-rule Reply action (6.0.0 through 6.3.6) of Progressive Robot hMailServer allows an authenticated user to send mail through the server as any address. A Sieve notify sends a notification message, and its :from tag names the sender; the server set the notification's From header to that :from as the script wrote it, without checking that the address belongs to the account - the check that the Sieve vacation action applies to its own :from, and that the server applies to the sender of mail queued over COM or sent from the webmail. An account that can store a Sieve script (over ManageSieve, the REST API's self-service filter, or the administration interface) could therefore have the server send a notification from any address, on this server or anywhere; and where the claimed address is at a domain the server hosts with DKIM signing enabled, the server signed the notification with that domain's DKIM key, because it signs by the From header's domain, producing forged mail aligned to pass the domain's DMARC policy. The notify action and this behaviour were introduced in 6.2.22. In the mail-rule engine, a rule's Reply was likewise sent from whatever address the action named, whoever the rule belonged to, so that an account acting on its own rules over COM, a domain administrator, or an API key confined to a domain (over the REST API from 6.3.4) could have a domain's or an account's rule reply from any address, signed, where that address is at a domain the server hosts with DKIM signing enabled, with that domain's key.","state":"PUBLISHED","assigner":"GitLab","published_at":"2026-10-19 16:17:01","updated_at":"2026-10-19 21:14:14"},"problem_types":["CWE-862","CWE-862 CWE-862: Missing Authorization"],"metrics":[{"version":"3.1","source":"cve@gitlab.com","type":"Secondary","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://gitlab.com/hmailserver/hmailserver/-/releases/v6.3.7","name":"https://gitlab.com/hmailserver/hmailserver/-/releases/v6.3.7","refsource":"cve@gitlab.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.com/hmailserver/hmailserver/-/work_items/82","name":"https://gitlab.com/hmailserver/hmailserver/-/work_items/82","refsource":"cve@gitlab.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-107568","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107568","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Progressive Robot Ltd","product":"hMailServer","version":"affected 6.0.0 6.3.6 semver","platforms":[]}],"timeline":[],"solutions":[{"source":"CNA","title":"","value":"Upgrade to hMailServer 6.3.7, which uses a Sieve notify :from only when it is an address that reaches the account (the account's own address or an active alias of it) - otherwise the notification goes from the account's own address, logged - and refuses a notify :from that is not an address when the script is stored, as the vacation action already does; and which sends a reply of an account's or a domain's mail rule only from an address the rule's owner may send as, refusing any other when the rule is saved and not sending a reply stored with one before (logged). Until then, where accounts need not set Sieve scripts, close the script surfaces: keep ManageSieve off (ManageSieveServerPort=0, the default) or bound to the loopback, and turn the REST API off where the webmail's filter editor is not wanted (RestApiPort=0, the default); and review active Sieve scripts for a notify whose :from is not the account's own address or an alias of it, and account and domain rules for a reply from an address the rule's owner may not send as. There is no per-extension setting that turns notify off while Sieve is in use.","time":"","lang":"en"}],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Found in the hMailServer project's own security review (Progressive Robot Ltd)","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"hMailServer","repo":"https://gitlab.com/hmailserver/hmailserver","vendor":"Progressive Robot Ltd","versions":[{"lessThanOrEqual":"6.3.6","status":"affected","version":"6.0.0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Found in the hMailServer project's own security review (Progressive Robot Ltd)"}],"descriptions":[{"lang":"en","value":"Missing authorization in the Sieve notify action (6.2.22 through 6.3.6) and in the mail-rule Reply action (6.0.0 through 6.3.6) of Progressive Robot hMailServer allows an authenticated user to send mail through the server as any address. A Sieve notify sends a notification message, and its :from tag names the sender; the server set the notification's From header to that :from as the script wrote it, without checking that the address belongs to the account - the check that the Sieve vacation action applies to its own :from, and that the server applies to the sender of mail queued over COM or sent from the webmail. An account that can store a Sieve script (over ManageSieve, the REST API's self-service filter, or the administration interface) could therefore have the server send a notification from any address, on this server or anywhere; and where the claimed address is at a domain the server hosts with DKIM signing enabled, the server signed the notification with that domain's DKIM key, because it signs by the From header's domain, producing forged mail aligned to pass the domain's DMARC policy. The notify action and this behaviour were introduced in 6.2.22. In the mail-rule engine, a rule's Reply was likewise sent from whatever address the action named, whoever the rule belonged to, so that an account acting on its own rules over COM, a domain administrator, or an API key confined to a domain (over the REST API from 6.3.4) could have a domain's or an account's rule reply from any address, signed, where that address is at a domain the server hosts with DKIM signing enabled, with that domain's key."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-862","description":"CWE-862: Missing Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-19T15:34:22.493Z","orgId":"ceab7361-8a18-47b1-92ba-4d7d25f6715a","shortName":"GitLab"},"references":[{"url":"https://gitlab.com/hmailserver/hmailserver/-/work_items/82"},{"url":"https://gitlab.com/hmailserver/hmailserver/-/releases/v6.3.7"}],"solutions":[{"lang":"en","value":"Upgrade to hMailServer 6.3.7, which uses a Sieve notify :from only when it is an address that reaches the account (the account's own address or an active alias of it) - otherwise the notification goes from the account's own address, logged - and refuses a notify :from that is not an address when the script is stored, as the vacation action already does; and which sends a reply of an account's or a domain's mail rule only from an address the rule's owner may send as, refusing any other when the rule is saved and not sending a reply stored with one before (logged). Until then, where accounts need not set Sieve scripts, close the script surfaces: keep ManageSieve off (ManageSieveServerPort=0, the default) or bound to the loopback, and turn the REST API off where the webmail's filter editor is not wanted (RestApiPort=0, the default); and review active Sieve scripts for a notify whose :from is not the account's own address or an alias of it, and account and domain rules for a reply from an address the rule's owner may not send as. There is no per-extension setting that turns notify off while Sieve is in use."}],"title":"Missing Authorization in hMailServer"}},"cveMetadata":{"assignerOrgId":"ceab7361-8a18-47b1-92ba-4d7d25f6715a","assignerShortName":"GitLab","cveId":"CVE-2026-107568","datePublished":"2026-10-19T15:34:22.493Z","dateReserved":"2026-10-08T10:51:05.636Z","dateUpdated":"2026-10-19T15:34:22.493Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-19 16:17:01","lastModifiedDate":"2026-10-19 21:14:14","problem_types":["CWE-862","CWE-862 CWE-862: Missing Authorization"],"metrics":{"cvssMetricV31":[{"source":"cve@gitlab.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"107568","Ordinal":"1","Title":"Missing Authorization in hMailServer","CVE":"CVE-2026-107568","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"107568","Ordinal":"1","NoteData":"Missing authorization in the Sieve notify action (6.2.22 through 6.3.6) and in the mail-rule Reply action (6.0.0 through 6.3.6) of Progressive Robot hMailServer allows an authenticated user to send mail through the server as any address. A Sieve notify sends a notification message, and its :from tag names the sender; the server set the notification's From header to that :from as the script wrote it, without checking that the address belongs to the account - the check that the Sieve vacation action applies to its own :from, and that the server applies to the sender of mail queued over COM or sent from the webmail. An account that can store a Sieve script (over ManageSieve, the REST API's self-service filter, or the administration interface) could therefore have the server send a notification from any address, on this server or anywhere; and where the claimed address is at a domain the server hosts with DKIM signing enabled, the server signed the notification with that domain's DKIM key, because it signs by the From header's domain, producing forged mail aligned to pass the domain's DMARC policy. The notify action and this behaviour were introduced in 6.2.22. In the mail-rule engine, a rule's Reply was likewise sent from whatever address the action named, whoever the rule belonged to, so that an account acting on its own rules over COM, a domain administrator, or an API key confined to a domain (over the REST API from 6.3.4) could have a domain's or an account's rule reply from any address, signed, where that address is at a domain the server hosts with DKIM signing enabled, with that domain's key.","Type":"Description","Title":"Missing Authorization in hMailServer"}]}}}