Sophos SafeGuard Enterprise before 8.00.5, SafeGuard Easy before 7.00.3, and SafeGuard LAN Crypt before 3.95.2 are vulnerable to Local Privilege Escalation via multiple IOCTLs, e.g., 0x8810200B, 0x8810200F, 0x8810201B, 0x8810201F, 0x8810202B, 0x8810202F, 0x8810203F, 0x8810204B, 0x88102003, 0x88102007, 0x88102013, 0x88102017, 0x88102027, 0x88102033, 0x88102037, 0x88102043, and 0x88102047. When some conditions in the user-controlled input buffer are not met, the driver writes an error code (0x2000001A) to a user-controlled address. Also, note that all the aforementioned IOCTLs use transfer type METHOD_NEITHER, which means that the I/O manager does not validate any of the supplied pointers and buffer sizes. So, even though the driver checks for input/output buffer sizes, it doesn't validate if the pointers to those buffers are actually valid. So, we can supply a pointer for the output buffer to a kernel address space address, and the error code will be written there. We can take advantage of this condition to modify the SEP_TOKEN_PRIVILEGES structure of the Token object belonging to the exploit process and grant SE_DEBUG_NAME privilege. This allows the exploit process to interact with higher privileged processes running as SYSTEM and execute code in their security context.
Published : 2018-07-09 18:29 Updated : 2019-10-03 00:03
CVSS Score More info
Score 7.2 / 10
A vulnerability exploitable with only local access requires the attacker to have either physical access to the vulnerable system or a local (shell) account. Examples of locally exploitable vulnerabilities are peripheral attacks such as Firewire/USB DMA attacks, and local privilege escalations (e.g., sudo).
Specialized access conditions or extenuating circumstances do not exist. The following are examples:
- The affected product typically requires access to a wide range of systems and users, possibly anonymous and untrusted (e.g., Internet-facing web or mail server).
- The affected configuration is default or ubiquitous.
- The attack can be performed manually and requires little skill or additional information gathering.
- The race condition is a lazy one (i.e., it is technically a race but easily winnable).
Authentication is not required to exploit the vulnerability.
There is total information disclosure, resulting in all system files being revealed. The attacker is able to read all of the system's data (memory, files, etc.)
There is a total compromise of system integrity. There is a complete loss of system protection, resulting in the entire system being compromised. The attacker is able to modify any files on the target system.
There is a total shutdown of the affected resource. The attacker can render the resource completely unavailable.
|Sophos||Safeguard Easy Device Encryption Client||6.00||cpe:/a:sophos:safeguard_easy_device_encryption_client:6.00|
|Sophos||Safeguard Easy Device Encryption Client||6.10||cpe:/a:sophos:safeguard_easy_device_encryption_client:6.10|
|Sophos||Safeguard Easy Device Encryption Client||7.00||cpe:/a:sophos:safeguard_easy_device_encryption_client:7.00|
|Sophos||Safeguard Enterprise Client||5.60.3||cpe:/a:sophos:safeguard_enterprise_client:5.60.3:vs-nfd|
|Sophos||Safeguard Enterprise Client||6.00||cpe:/a:sophos:safeguard_enterprise_client:6.00|
|Sophos||Safeguard Enterprise Client||6.00.1||cpe:/a:sophos:safeguard_enterprise_client:6.00.1|
|Sophos||Safeguard Enterprise Client||6.10||cpe:/a:sophos:safeguard_enterprise_client:6.10|
|Sophos||Safeguard Enterprise Client||7.00||cpe:/a:sophos:safeguard_enterprise_client:7.00|
|Sophos||Safeguard Enterprise Client||8.00||cpe:/a:sophos:safeguard_enterprise_client:8.00|
|Sophos||Safeguard Lan Crypt Client||3.90.1||cpe:/a:sophos:safeguard_lan_crypt_client:3.90.1:ts|
|Sophos||Safeguard Lan Crypt Client||3.90.2||cpe:/a:sophos:safeguard_lan_crypt_client:3.90.2|
|Sophos||Safeguard Lan Crypt Client||3.95.1||cpe:/a:sophos:safeguard_lan_crypt_client:3.95.1|
|Sophos||Safeguard Lan Crypt Client||3.95.1||cpe:/a:sophos:safeguard_lan_crypt_client:3.95.1:ts|
History of changes