6 min read

CVE-2025-2272 ForcePoint Endpoint DLP Privilege Escalation

Prepared by: Brecht Snijders, Principal Offensive Consultant

 

What We Found and Why It Matters?

Introduction

During a recent Red Team exercise, the Triskele Labs team discovered a trivial privilege escalation flaw in the Forcepoint One Endpoint DLP software version <25.05 that allows any user with write access to the C:\ root (every authenticated user by default) to trivially escalate their privileges to NT AUTHORITY\SYSTEM.

  

How a Misplaced OpenSSL Config Leads to SYSTEM Privileges

Discovery

During the engagement, we found ourselves with code execution in the context of a regular user account on a Windows host. Our aim for this particular host was to elevate our privileges, so we set out to perform the usual checks such as surveying the software installed. We retrieved the available installers, deployed them on a dedicated test Virtual Machine and started looking for easy wins to get us closer to our objectives. 

Part of performing red teams is keeping things simple - if a straightforward privilege escalation gets you to your intended goal, there is no need to overcomplicate. With this in mind, we deployed ProcMon, enabled Boot Logging and rebooted our test workstation: 

image

After the reboot, we applied the excellent PrivEsc ProcMon Filter [link: https://github.com/CERTCC/privesc] provided by CERTCC and dug through the results. After applying some extra filtering, the following stood out like a sore thumb: 

image 1

The above indicates that the EndPointClassifier.exe process is attempting to load a config file (openssl.cnf) from a linux-style directory on Windows. It also tells us the path wasn’t found and that it’s trying to load the file with SYSTEM-level privileges. Given that every authenticated user (by default) can create new folders in the C:\ root, it’s trivial for us to exploit this search path vulnerability.  

This result ticks all the Easy Privilege Escalation boxes: 

  • User-writable folder 
  • System integrity 
  • Proven path to exploitability using an openssl config file 

From here, it’s as simple as creating the folders and placing the openssl.cnf file with contents similar to this: 

openssl_conf = openssl_init
[openssl_init]
engines = engine_section

[engine_section]
cmd = cmd_section

[cmd_section]
engine_id = cmd
dynamic_path = c:\\usr\\local\\ssl\\exploit.dll
init = 0


Create the DLL containing your code in the “dynamic_path” section (c:\usr\local\ssl\exploit.dll in this case) and Bob is your elevated uncle. The service needs to be restarted before it will load our custom config file and DLL, which is something regular users do not have the permissions for. Luckily, a reboot does the trick as well. During the assessment itself, we simply waited for the scheduled reboot and ultimately received our elevated beacon.  

This privilege escalation vector is not new and several other popular software vendors have had similar vulnerabilities in the past: 

This is also not the first time we've found a fairly trivial but extremely useful privilege escalation vector in enterprise security software and should serve as a reminder for both attackers and defenders to never make any assumptions about software based on their reputation or function. 

 

Patch to Version 25.05 and Lock Down Write Access

Mitigation

Forcepoint have released a new version (25.05) and an associated advisory on 22 May 2025. These details can be found at https://support.forcepoint.com/s/article/Security-Advisory-Privilege-Escalation-and-Arbitrary-code-execution-in-F1E-Endpoint.