{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-114475", "assignerOrgId": "ceab7361-8a18-47b1-92ba-4d7d25f6715a", "state": "PUBLISHED", "assignerShortName": "GitLab", "dateReserved": "2026-10-21T15:11:30.860Z", "datePublished": "2026-10-21T15:12:20.842Z", "dateUpdated": "2026-10-29T20:56:12.860Z" }, "containers": { "cna": { "title": "Missing Authorization in hMailServer", "descriptions": [ { "lang": "en", "value": "Missing authorization in the REST role-management routes of Progressive Robot hMailServer 6.3.4 through 6.3.6 allows a remote authenticated user whose credential is confined to named domains to modify a custom role that accounts in other domains hold, and to create custom roles and delete any that no account holds. The routes that create, update and delete a custom role require the manage_roles permission, which only the serveradmin role holds; but a full-scope API key issued for named domains, and serveradmin assigned with a domain list, are serveradmin confined to those domains and hold manage_roles. The server's authorization gate did not refuse the three role routes to a confined credential and the route named no domain, so a credential issued to one tenant could raise or lower the permissions of a custom role assigned across other tenants - granting another domain's role every permission over its mailboxes and settings, or removing what it needs. A custom role may not hold administer_server, administer_domain or manage_roles, so the confined credential cannot make itself or another a server administrator by creating or rewriting a custom role." } ], "affected": [ { "vendor": "Progressive Robot Ltd", "product": "hMailServer", "repo": "https://gitlab.com/hmailserver/hmailserver", "versions": [ { "version": "6.3.4", "status": "affected", "lessThanOrEqual": "6.3.6", "versionType": "semver" } ], "defaultStatus": "unaffected" } ], "problemTypes": [ { "descriptions": [ { "lang": "en", "description": "CWE-862: Missing Authorization", "cweId": "CWE-862", "type": "CWE" } ] } ], "references": [ { "url": "https://gitlab.com/hmailserver/hmailserver/-/work_items/89" }, { "url": "https://gitlab.com/hmailserver/hmailserver/-/releases/v6.3.7" } ], "metrics": [ { "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ], "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE", "baseScore": 6.5, "baseSeverity": "MEDIUM" } } ], "solutions": [ { "lang": "en", "value": "Upgrade to hMailServer 6.3.7, whose authorization gate refuses the create, update and delete role routes to a credential confined to named domains, while leaving the read of roles unchanged. Until then, on a multi-tenant server, do not issue a full-scope API key - or assign serveradmin - confined to named domains to a party not trusted with the whole server; keep the REST API off (RestApiPort=0, the default) where it is not needed; and review custom roles' permissions for changes a confined credential should not have made (after upgrading as well, since an upgrade does not undo a change already made)." } ], "credits": [ { "lang": "en", "value": "Found in the hMailServer project's own security review (Progressive Robot Ltd)", "type": "finder" } ], "providerMetadata": { "orgId": "ceab7361-8a18-47b1-92ba-4d7d25f6715a", "shortName": "GitLab", "dateUpdated": "2026-10-21T15:12:20.842Z" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-10-29T17:33:16.936622Z", "id": "CVE-2026-114475", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-10-29T20:56:12.860Z" } } ] } }