mirror of
https://github.com/fkie-cad/nvd-json-data-feeds.git
synced 2025-05-28 09:11:28 +00:00
181 lines
7.6 KiB
JSON
181 lines
7.6 KiB
JSON
{
|
|
"id": "CVE-2021-32829",
|
|
"sourceIdentifier": "security-advisories@github.com",
|
|
"published": "2021-08-17T16:15:07.063",
|
|
"lastModified": "2024-11-21T06:07:50.220",
|
|
"vulnStatus": "Modified",
|
|
"cveTags": [],
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "ZStack is open source IaaS(infrastructure as a service) software aiming to automate datacenters, managing resources of compute, storage, and networking all by APIs. Affected versions of ZStack REST API are vulnerable to post-authentication Remote Code Execution (RCE) via bypass of the Groovy shell sandbox. The REST API exposes the GET zstack/v1/batch-queries?script endpoint which is backed up by the BatchQueryAction class. Messages are represented by the APIBatchQueryMsg, dispatched to the QueryFacadeImpl facade and handled by the BatchQuery class. The HTTP request parameter script is mapped to the APIBatchQueryMsg.script property and evaluated as a Groovy script in BatchQuery.query the evaluation of the user-controlled Groovy script is sandboxed by SandboxTransformer which will apply the restrictions defined in the registered (sandbox.register()) GroovyInterceptor. Even though the sandbox heavily restricts the receiver types to a small set of allowed types, the sandbox is non effective at controlling any code placed in Java annotations and therefore vulnerable to meta-programming escapes. This issue leads to post-authenticated remote code execution. For more details see the referenced GHSL-2021-065. This issue is patched in versions 3.8.21, 3.10.8, and 4.1.0."
|
|
},
|
|
{
|
|
"lang": "es",
|
|
"value": "ZStack es un software IaaS (infraestructura como servicio) de c\u00f3digo abierto cuyo objetivo es automatizar los centros de datos, administrando los recursos de computaci\u00f3n, almacenamiento y red, todo ello mediante API. Las versiones afectadas de la API REST de ZStack son vulnerables a una ejecuci\u00f3n de c\u00f3digo remota (RCE) despu\u00e9s de la autenticaci\u00f3n, por medio de una omisi\u00f3n del sandbox shell de Groovy. La API REST expone el endpoint GET zstack/v1/batch-queries?script que est\u00e1 respaldado por la clase BatchQueryAction. Los mensajes son representados por el APIBatchQueryMsg, enviados a la fachada QueryFacadeImpl y manejados por la clase BatchQuery. El script del par\u00e1metro de petici\u00f3n HTTP se asigna a la propiedad APIBatchQueryMsg.script y se eval\u00faa como un script Groovy en BatchQuery.query la evaluaci\u00f3n del script Groovy controlado por el usuario es sandboxed por SandboxTransformer que aplicar\u00e1 las restricciones definidas en el registrado (sandbox.register()) GroovyInterceptor. A pesar de que el sandbox restringe fuertemente los tipos del receptor a un peque\u00f1o conjunto de tipos permitidos, el sandbox no es efectivo en el control de cualquier c\u00f3digo colocado en las anotaciones de Java y por lo tanto es vulnerable a los escapes de meta-programaci\u00f3n. Este problema conlleva a una ejecuci\u00f3n de c\u00f3digo remota post-autenticada. Para m\u00e1s detalles, consulte la referencia GHSL-2021-065. Este problema est\u00e1 parcheado en versiones 3.8.21, 3.10.8 y 4.1.0."
|
|
}
|
|
],
|
|
"metrics": {
|
|
"cvssMetricV31": [
|
|
{
|
|
"source": "security-advisories@github.com",
|
|
"type": "Secondary",
|
|
"cvssData": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N",
|
|
"baseScore": 9.6,
|
|
"baseSeverity": "CRITICAL",
|
|
"attackVector": "NETWORK",
|
|
"attackComplexity": "LOW",
|
|
"privilegesRequired": "LOW",
|
|
"userInteraction": "NONE",
|
|
"scope": "CHANGED",
|
|
"confidentialityImpact": "HIGH",
|
|
"integrityImpact": "HIGH",
|
|
"availabilityImpact": "NONE"
|
|
},
|
|
"exploitabilityScore": 3.1,
|
|
"impactScore": 5.8
|
|
},
|
|
{
|
|
"source": "nvd@nist.gov",
|
|
"type": "Primary",
|
|
"cvssData": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
|
|
"baseScore": 9.9,
|
|
"baseSeverity": "CRITICAL",
|
|
"attackVector": "NETWORK",
|
|
"attackComplexity": "LOW",
|
|
"privilegesRequired": "LOW",
|
|
"userInteraction": "NONE",
|
|
"scope": "CHANGED",
|
|
"confidentialityImpact": "HIGH",
|
|
"integrityImpact": "HIGH",
|
|
"availabilityImpact": "HIGH"
|
|
},
|
|
"exploitabilityScore": 3.1,
|
|
"impactScore": 6.0
|
|
}
|
|
],
|
|
"cvssMetricV2": [
|
|
{
|
|
"source": "nvd@nist.gov",
|
|
"type": "Primary",
|
|
"cvssData": {
|
|
"version": "2.0",
|
|
"vectorString": "AV:N/AC:L/Au:S/C:P/I:P/A:P",
|
|
"baseScore": 6.5,
|
|
"accessVector": "NETWORK",
|
|
"accessComplexity": "LOW",
|
|
"authentication": "SINGLE",
|
|
"confidentialityImpact": "PARTIAL",
|
|
"integrityImpact": "PARTIAL",
|
|
"availabilityImpact": "PARTIAL"
|
|
},
|
|
"baseSeverity": "MEDIUM",
|
|
"exploitabilityScore": 8.0,
|
|
"impactScore": 6.4,
|
|
"acInsufInfo": false,
|
|
"obtainAllPrivilege": false,
|
|
"obtainUserPrivilege": false,
|
|
"obtainOtherPrivilege": false,
|
|
"userInteractionRequired": false
|
|
}
|
|
]
|
|
},
|
|
"weaknesses": [
|
|
{
|
|
"source": "security-advisories@github.com",
|
|
"type": "Secondary",
|
|
"description": [
|
|
{
|
|
"lang": "en",
|
|
"value": "CWE-94"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"source": "nvd@nist.gov",
|
|
"type": "Primary",
|
|
"description": [
|
|
{
|
|
"lang": "en",
|
|
"value": "CWE-863"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"configurations": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:a:zstack:rest_api:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.2.4",
|
|
"versionEndExcluding": "3.8.21",
|
|
"matchCriteriaId": "1601C476-2420-4656-83A5-B5D4CC92B288"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:a:zstack:rest_api:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.10.0",
|
|
"versionEndExcluding": "3.10.8",
|
|
"matchCriteriaId": "846C8789-672B-429D-BA03-54FF2E38BB37"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html",
|
|
"source": "security-advisories@github.com",
|
|
"tags": [
|
|
"Not Applicable"
|
|
]
|
|
},
|
|
{
|
|
"url": "https://github.com/zstackio/zstack/security/advisories/GHSA-6xgq-7rqg-x3q5",
|
|
"source": "security-advisories@github.com",
|
|
"tags": [
|
|
"Third Party Advisory"
|
|
]
|
|
},
|
|
{
|
|
"url": "https://securitylab.github.com/advisories/GHSL-2021-065-zstack/",
|
|
"source": "security-advisories@github.com",
|
|
"tags": [
|
|
"Exploit",
|
|
"Third Party Advisory"
|
|
]
|
|
},
|
|
{
|
|
"url": "https://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html",
|
|
"source": "af854a3a-2127-422b-91ae-364da2661108",
|
|
"tags": [
|
|
"Not Applicable"
|
|
]
|
|
},
|
|
{
|
|
"url": "https://github.com/zstackio/zstack/security/advisories/GHSA-6xgq-7rqg-x3q5",
|
|
"source": "af854a3a-2127-422b-91ae-364da2661108",
|
|
"tags": [
|
|
"Third Party Advisory"
|
|
]
|
|
},
|
|
{
|
|
"url": "https://securitylab.github.com/advisories/GHSL-2021-065-zstack/",
|
|
"source": "af854a3a-2127-422b-91ae-364da2661108",
|
|
"tags": [
|
|
"Exploit",
|
|
"Third Party Advisory"
|
|
]
|
|
}
|
|
]
|
|
} |