CVE-2026-104660
La ausencia de autorización en objetos COM de Progressive Robot hMailServer 6.0.0 a 6.3.5 (solo Windows) permite a un usuario interactivo local sin credenciales de hMailServer leer y escribir archivos arbitrarios como la cuenta de servicio y poner en cola correo como cualquier remitente.
Leer descripción completaMostrar menos
El servicio registra sus clases COM sin permisos de acceso ni de inicio DCOM y llama a CoInitializeSecurity sin descriptor de seguridad, por lo que cualquier usuario con sesión iniciada en la consola o mediante Escritorio remoto puede activar las clases en el servicio en ejecución; un hMailServer.Message, sus Attachments y Attachment, y un hMailServer.FetchAccount creados de esta forma llevan una credencial que nunca se autenticó. Attachments.Add(path) y Attachment.SaveAs(path) no realizaban ninguna comprobación de autorización, y Message.Save/Copy y FetchAccount.AccountID/Save tampoco realizaban ninguna hasta 6.3.3 y, desde 6.3.4, trataban a un poseedor sin credencial como el host de scripts de eventos del propio servidor. Como el servicio no suplanta al llamante COM, Attachments.Add lee cualquier archivo que la cuenta de servicio pueda leer y lo devuelve, Attachment.SaveAs escribe bytes elegidos por el atacante en cualquier ruta en la que pueda escribir (en una instalación con LocalSystem, ejecución de código como SYSTEM), Message.Save pone en cola correo saliente desde cualquier dirección eludiendo las comprobaciones SMTP, y FetchAccount vincula una tarea de recuperación de correo a cualquier buzón. Los objetos entregados por un Application se comportan igual una vez que falla un Authenticate posterior en ese Application.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 7.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.11%
- Percentil entre todas las CVEs puntuadas: 1
- Fecha de la puntuación: 13/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1068Exploitation for Privilege Escalationprivilege escalation85 % - Impacto principal
T1005Data from Local Systemcollection90 % - Impacto secundario
T1078Valid Accountsstealth · persistence · privilege escalation · initial access80 % - Impacto secundario
T1565.001Stored Data Manipulationimpact85 %
Vulnerabilidad de autorización en objetos COM con acceso local sin elevación previa (AV:L, PR:L, UI:N) que permite a usuario interactivo leer/escribir archivos como cuenta de servicio y ejecutar comandos como SYSTEM en instalaciones LocalSystem.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-862
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-104660",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-104660",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-08T14:25:10.301436Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "cve@gitlab.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 1.8
}
]
},
"affected": [
{
"source": "cve@gitlab.com",
"affectedData": [
{
"repo": "https://gitlab.com/hmailserver/hmailserver",
"vendor": "Progressive Robot Ltd",
"product": "hMailServer",
"versions": [
{
"status": "affected",
"version": "6.0.0",
"lessThan": "6.3.6",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-08T11:16:44.160",
"references": [
{
"url": "https://gitlab.com/hmailserver/hmailserver/-/releases/v6.3.6",
"source": "cve@gitlab.com"
},
{
"url": "https://gitlab.com/hmailserver/hmailserver/-/work_items/59",
"source": "cve@gitlab.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "cve@gitlab.com",
"description": [
{
"lang": "en",
"value": "CWE-862"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Missing authorization on COM objects in Progressive Robot hMailServer 6.0.0 through 6.3.5 (Windows only) lets a local interactive user with no hMailServer credential read and write arbitrary files as the service account and queue mail as any sender. The service registers its COM classes with no DCOM access or launch permission and calls CoInitializeSecurity with no security descriptor, so any user logged on at the console or over Remote Desktop can activate the classes in the running service; a hMailServer.Message, its Attachments and Attachment, and a hMailServer.FetchAccount created this way carry a credential that never authenticated. Attachments.Add(path) and Attachment.SaveAs(path) performed no authorization check, and Message.Save/Copy and FetchAccount.AccountID/Save performed none either up to 6.3.3 and from 6.3.4 treated a holder with no credential as the server's own event-script host. Because the service does not impersonate the COM caller, Attachments.Add reads any file the service account can read and returns it, Attachment.SaveAs writes attacker-chosen bytes to any path it can write (on a LocalSystem installation, code execution as SYSTEM), Message.Save queues outbound mail from any address past the SMTP checks, and FetchAccount attaches a mail-fetch job to any mailbox. The objects an Application handed out behave the same once a later Authenticate on that Application fails."
}
],
"lastModified": "2026-10-08T21:02:43.860",
"sourceIdentifier": "cve@gitlab.com"
}