CVE-2020-12612
An issue was discovered in BeyondTrust Privilege Management for Windows through 5.6. When specifying a program to elevate, it can typically be found within the Program Files (x86) folder and therefore uses the %ProgramFiles(x86)% environment variable. However, when this same policy gets pushed to a 32bit machine, this environment variable does not exist. Therefore, since the standard user can create a user level environment variable, they can repoint this variable to any folder the user has full control of. Then, the folder structure can be created in such a way that a rule matches and arbitrary code runs elevated.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Base score: 7.8
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 0.26%
- Percentile among all scored CVEs: 16
- Score date: 10/6/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
CWEs
- NVD-CWE-noinfo
References
- https://www.beyondtrust.com/support/changelog/privilege-management-for-windows-5-6-sr1
- https://www.beyondtrust.com/trust-center/security-advisories/bt22-09
- https://www.beyondtrust.com/support/changelog/privilege-management-for-windows-5-6-sr1
- https://www.beyondtrust.com/trust-center/security-advisories/bt22-09
Raw JSON (NVD)
Show
{
"id": "CVE-2020-12612",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"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@mitre.org",
"affectedData": [
{
"vendor": "n/a",
"product": "n/a",
"versions": [
{
"status": "affected",
"version": "n/a"
}
]
}
]
}
],
"published": "2023-12-12T14:15:07.327",
"references": [
{
"url": "https://www.beyondtrust.com/support/changelog/privilege-management-for-windows-5-6-sr1",
"tags": [
"Release Notes"
],
"source": "cve@mitre.org"
},
{
"url": "https://www.beyondtrust.com/trust-center/security-advisories/bt22-09",
"tags": [
"Vendor Advisory"
],
"source": "cve@mitre.org"
},
{
"url": "https://www.beyondtrust.com/support/changelog/privilege-management-for-windows-5-6-sr1",
"tags": [
"Release Notes"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://www.beyondtrust.com/trust-center/security-advisories/bt22-09",
"tags": [
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "An issue was discovered in BeyondTrust Privilege Management for Windows through 5.6. When specifying a program to elevate, it can typically be found within the Program Files (x86) folder and therefore uses the %ProgramFiles(x86)% environment variable. However, when this same policy gets pushed to a 32bit machine, this environment variable does not exist. Therefore, since the standard user can create a user level environment variable, they can repoint this variable to any folder the user has full control of. Then, the folder structure can be created in such a way that a rule matches and arbitrary code runs elevated."
},
{
"lang": "es",
"value": "Se descubrió un problema en BeyondTrust Privilege Management para Windows hasta 5.6. Al especificar un programa para elevar, normalmente se puede encontrar dentro de la carpeta Archivos de programa (x86) y, por lo tanto, utiliza la variable de entorno %ProgramFiles(x86)%. Sin embargo, cuando esta misma política se aplica a una máquina de 32 bits, esta variable de entorno no existe. Por lo tanto, dado que el usuario estándar puede crear una variable de entorno a nivel de usuario, puede redirigir esta variable a cualquier carpeta sobre la que el usuario tenga control total. Luego, la estructura de carpetas se puede crear de tal manera que una regla coincida y el código arbitrario se ejecute elevado."
}
],
"lastModified": "2026-06-17T02:52:01.043",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:beyondtrust:privilege_management_for_windows:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "0F67CF10-9F8A-4161-9789-AE3C4F6F4C18",
"versionEndExcluding": "5.6"
},
{
"criteria": "cpe:2.3:a:beyondtrust:privilege_management_for_windows:5.6:-:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "68575FC2-6FFA-4F05-AD98-D4CD1C1824F0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "cve@mitre.org"
}