CVE-2024-50386
Account users in Apache CloudStack by default are allowed to register templates to be downloaded directly to the primary storage for deploying instances. Due to missing validation checks for KVM-compatible templates in CloudStack 4.0.0 through 4.18.2.4 and 4.19.0.0 through 4.19.1.2, an attacker that can register templates, can use them to deploy malicious instances on KVM-based environments and exploit this to gain access to the host filesystems that could result in the compromise of resource integrity and confidentiality, data loss, denial of service, and availability of KVM-based infrastructure managed by CloudStack.
Leer descripción completaMostrar menos
Users are recommended to upgrade to Apache CloudStack 4.18.2.5 or 4.19.1.3, or later, which addresses this issue.
Additionally, all user-registered KVM-compatible templates can be scanned and checked that they are flat files that should not be using any additional or unnecessary features. For example, operators can run the following command on their file-based primary storage(s) and inspect the output. An empty output for the disk being validated means it has no references to the host filesystems; on the other hand, if the output for the disk being validated is not empty, it might indicate a compromised disk. However, bear in mind that (i) volumes created from templates will have references for the templates at first and (ii) volumes can be consolidated while migrating, losing their references to the templates. Therefore, the command execution for the primary storages can show both false positives and false negatives.
for file in $(find /path/to/storage/ -type f -regex [a-f0-9\-]*.*); do echo "Retrieving file [$file] info. If the output is not empty, that might indicate a compromised disk; check it carefully."; qemu-img info -U $file | grep file: ; printf "\n\n"; done For checking the whole template/volume features of each disk, operators can run the following command:
for file in $(find /path/to/storage/ -type f -regex [a-f0-9\-]*.*); do echo "Retrieving file [$file] info."; qemu-img info -U $file; printf "\n\n"; done
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Puntuación base: 9.9
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 1.47%
- Percentil entre todas las CVEs puntuadas: 73
- Fecha de la puntuación: 5/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
T1210Exploitation of Remote Serviceslateral movement85 % - Impacto principal
T1068Exploitation for Privilege Escalationprivilege escalation80 % - Impacto secundario
T1005Data from Local Systemcollection75 % - Impacto secundario
T1499.004Application or System Exploitationimpact70 %
Usuarios autenticados (PR:L) explotan falta de validación en templates KVM para desplegar instancias maliciosas que comprometen filesystems del host, permitiendo escalada de privilegios, exfiltración de datos y DoS en infraestructura CloudStack.
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)
CWE
- CWE-20
- NVD-CWE-noinfo
Referencias
- https://cloudstack.apache.org/blog/security-release-advisory-4.18.2.5-4.19.1.3
- https://lists.apache.org/thread/d0x83c2cyglzzdw8csbop7mj7h83z95y
- https://www.shapeblue.com/shapeblue-security-advisory-apache-cloudstack-security-releases-4-18-2-5-and-4-19-1-3/
- http://www.openwall.com/lists/oss-security/2024/11/12/3
JSON original (NVD)
Mostrar
{
"id": "CVE-2024-50386",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-50386",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2024-11-12T16:07:06.274965Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@apache.org",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 8.5,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 6,
"exploitabilityScore": 1.8
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 9.9,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 6,
"exploitabilityScore": 3.1
}
]
},
"affected": [
{
"source": "security@apache.org",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache CloudStack",
"versions": [
{
"status": "affected",
"version": "4.0.0",
"versionType": "semver",
"lessThanOrEqual": "4.18.2.4"
},
{
"status": "affected",
"version": "4.19.0.0",
"versionType": "semver",
"lessThanOrEqual": "4.19.1.2"
}
],
"defaultStatus": "unaffected"
}
]
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"affectedData": [
{
"cpes": [
"cpe:2.3:a:apache:cloudstack:*:*:*:*:*:*:*:*"
],
"vendor": "apache",
"product": "cloudstack",
"versions": [
{
"status": "affected",
"version": "4.0.0",
"versionType": "semver",
"lessThanOrEqual": "4.18.2.4"
},
{
"status": "affected",
"version": "4.19.0.0",
"versionType": "semver",
"lessThanOrEqual": "4.19.1.2"
}
],
"defaultStatus": "unknown"
}
]
}
],
"published": "2024-11-12T15:15:10.397",
"references": [
{
"url": "https://cloudstack.apache.org/blog/security-release-advisory-4.18.2.5-4.19.1.3",
"tags": [
"Vendor Advisory"
],
"source": "security@apache.org"
},
{
"url": "https://lists.apache.org/thread/d0x83c2cyglzzdw8csbop7mj7h83z95y",
"tags": [
"Mailing List",
"Vendor Advisory"
],
"source": "security@apache.org"
},
{
"url": "https://www.shapeblue.com/shapeblue-security-advisory-apache-cloudstack-security-releases-4-18-2-5-and-4-19-1-3/",
"tags": [
"Third Party Advisory"
],
"source": "security@apache.org"
},
{
"url": "http://www.openwall.com/lists/oss-security/2024/11/12/3",
"tags": [
"Mailing List"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "security@apache.org",
"description": [
{
"lang": "en",
"value": "CWE-20"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Account users in Apache CloudStack by default are allowed to register templates to be downloaded directly to the primary storage for deploying instances. Due to missing validation checks for KVM-compatible templates in CloudStack 4.0.0 through 4.18.2.4 and 4.19.0.0 through 4.19.1.2, an attacker that can register templates, can use them to deploy malicious instances on KVM-based environments and exploit this to gain access to the host filesystems that could result in the compromise of resource integrity and confidentiality, data loss, denial of service, and availability of KVM-based infrastructure managed by CloudStack.\n\n\nUsers are recommended to upgrade to Apache CloudStack 4.18.2.5 or 4.19.1.3, or later, which addresses this issue. \n\nAdditionally, all user-registered KVM-compatible templates can be scanned and checked that they are flat files that should not be using any additional or unnecessary features. For example, operators can run the following command on their file-based primary storage(s) and inspect the output. An empty output for the disk being validated means it has no references to the host filesystems; on the other hand, if the output for the disk being validated is not empty, it might indicate a compromised disk. However, bear in mind that (i) volumes created from templates will have references for the templates at first and (ii) volumes can be consolidated while migrating, losing their references to the templates. Therefore, the command execution for the primary storages can show both false positives and false negatives.\n\n\nfor file in $(find /path/to/storage/ -type f -regex [a-f0-9\\-]*.*); do echo \"Retrieving file [$file] info. If the output is not empty, that might indicate a compromised disk; check it carefully.\"; qemu-img info -U $file | grep file: ; printf \"\\n\\n\"; done\nFor checking the whole template/volume features of each disk, operators can run the following command:\n\n\nfor file in $(find /path/to/storage/ -type f -regex [a-f0-9\\-]*.*); do echo \"Retrieving file [$file] info.\"; qemu-img info -U $file; printf \"\\n\\n\"; done"
},
{
"lang": "es",
"value": "De manera predeterminada, los usuarios de cuentas en Apache CloudStack pueden registrar plantillas para que se descarguen directamente al almacenamiento principal para implementar instancias. Debido a que faltan comprobaciones de validación para las plantillas compatibles con KVM en CloudStack 4.0.0 a 4.18.2.4 y 4.19.0.0 a 4.19.1.2, un atacante que pueda registrar plantillas puede usarlas para implementar instancias maliciosas en entornos basados en KVM y aprovechar esto para obtener acceso a los sistemas de archivos del host, lo que podría provocar la vulneración de la integridad y la confidencialidad de los recursos, la pérdida de datos, la denegación de servicio y la disponibilidad de la infraestructura basada en KVM administrada por CloudStack. Se recomienda a los usuarios que actualicen a Apache CloudStack 4.18.2.5 o 4.19.1.3, o una versión posterior, que soluciona este problema. Además, se pueden escanear todas las plantillas compatibles con KVM registradas por el usuario y verificar que sean archivos planos que no deberían utilizar funciones adicionales o innecesarias. Por ejemplo, los operadores pueden ejecutar el siguiente comando en sus almacenamientos primarios basados en archivos e inspeccionar la salida. Una salida vacía para el disco que se está validando significa que no tiene referencias a los sistemas de archivos del host; por otro lado, si la salida para el disco que se está validando no está vacía, podría indicar un disco comprometido. Sin embargo, tenga en cuenta que (i) los volúmenes creados a partir de plantillas tendrán referencias para las plantillas al principio y (ii) los volúmenes se pueden consolidar durante la migración, perdiendo sus referencias a las plantillas. Por lo tanto, la ejecución del comando para los almacenamientos primarios puede mostrar falsos positivos y falsos negativos. for file in $(find /path/to/storage/ -type f -regex [a-f0-9\\-]*.*); do echo \"Recuperando información del archivo [$file]. Si la salida no está vacía, eso podría indicar un disco comprometido; verifíquelo cuidadosamente.\"; qemu-img info -U $file | grep file: ; printf \"\\n\\n\"; hecho Para verificar todas las características de la plantilla/volumen de cada disco, los operadores pueden ejecutar el siguiente comando: for file in $(find /path/to/storage/ -type f -regex [a-f0-9\\-]*.*); do echo \"Recuperando información del archivo [$file].\"; qemu-img info -U $file; printf \"\\n\\n\"; hecho"
}
],
"lastModified": "2026-06-17T08:04:21.530",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:apache:cloudstack:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "2845E705-B2F7-4443-AF76-9CE837B1A11D",
"versionEndExcluding": "4.18.2.5",
"versionStartIncluding": "4.0.0"
},
{
"criteria": "cpe:2.3:a:apache:cloudstack:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "DC061C58-2D0A-4B42-8EB9-1B156D8B31E6",
"versionEndExcluding": "4.19.1.3",
"versionStartIncluding": "4.19.0.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security@apache.org"
}