CVE-2026-126612
Improper Link Resolution Before File Access ('Link Following') in hMailServer
Improper link resolution in the Windows installer of Progressive Robot hMailServer 6.0.0 through 6.3.7 allows a local authenticated user to run code as the mail server's service account or as an administrator when the path to the program folder passes through a junction, a symbolic link or a mount point that the user controls or that every user may change, such as a junction made at the root of a drive, which takes the root's permissions, or through a folder that every user may rename. Setup installed the programs through any such link without first checking who controls it, or whether a folder above the program folder may be renamed, and the service is registered to run the programs by that path, so the programs are installed where a link another account controls leads, or that account can later make the path lead to a folder it controls; the service, which runs as LocalSystem or as its virtual account, and the programs administrators run from Bin are then started from there. 6.3.7's fix for CVE-2026-107571 does not cover this: its hardening of the program folder, Bin and ControlPanel does not change a folder reached through a link that the administrators do not alone control, and setup does not refuse such a path: it installs through the link and at most reports afterwards that the folders could not be hardened. The default installation under Program Files is not affected.
Fixes and workarounds
Fix
Upgrade to hMailServer 6.3.8, whose setup holds every folder from the root of the volume down to the program folder, Bin and ControlPanel open and, before anything changes, refuses with exit code 7 a junction, a symbolic link or a mount point on the way that anybody but SYSTEM, the Administrators and TrustedInstaller owns, may change or may remove - a junction made at a drive's root and left with the permissions the root hands down among them - and a folder on the way that another account may rename or remove, or empty, naming each with the icacls that deals with it. Until then, install hMailServer under Program Files, or at a path with no link on it below folders that only administrators may change. For a link that is meant to be on the path, make it the administrators' alone from an elevated Command Prompt - icacls "<link>" /L /setowner *S-1-5-32-544, then icacls "<link>" /L /inheritance:r /grant:r *S-1-5-18:F *S-1-5-32-544:F *S-1-5-32-545:RX - and check where it leads (dir /al of the folder that holds it); make the Administrators the owner of each folder above the program folder that other accounts may change, and take away their right to change it; then restart Windows. Where another account owned or could change such a link or folder while the installation was there, reinstall into a new folder as the hMailServer documentation, ServiceAccount.md, "Reinstalling into a new folder", says.
Source: CNA: GitLabAffected products and versions
| Product | Versions | Authority |
|---|---|---|
| hMailServer Progressive Robot Ltd |
≥ 6.0.0; ≤ 6.3.7 (affected, semver)
Other versions: unaffected |
CNA: GitLab |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 3.1 / 7.8 high |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | CNA: GitLab |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.