OPSWAT AppRemover CVE-2026-36425
MEDIUMSeverity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Local vector (requires local session); any unprivileged user suffices (PR:L); impact is process termination (A:H only), not data disclosure.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.org
An issue in OPSWAT AppRemover Driver (ardrv.sys) v2017.10.02.1551 and earlier in IOCTL handler 0x2420031. Any local user can open the device and send process termination requests without privilege validation.
AnalysisAI
Privilege-free process termination in OPSWAT AppRemover Driver (ardrv.sys v2017.10.02.1551 and earlier) allows any locally authenticated user to kill arbitrary processes - including endpoint security tools - by sending crafted requests to IOCTL handler 0x2420031 without any privilege validation. A public proof-of-concept is available on GitHub (redteamfortress/CVE-2026-36425), making this immediately reproducible by insider threats or post-compromise attackers seeking to disable defenses. No active exploitation has been confirmed in CISA KEV, but the defense-evasion potential elevates operational priority in environments running OPSWAT's OESIS Framework.
Technical ContextAI
OPSWAT AppRemover Driver (ardrv.sys) is a Windows kernel-mode driver distributed as part of OPSWAT's OESIS Framework, used by enterprises to programmatically remove security and compliance software from endpoints. The vulnerability resides in the driver's IOCTL dispatch table at control code 0x2420031, which accepts process termination commands from user-mode callers. Critically, the handler performs no privilege check before executing the termination request, violating the principle of least privilege at the kernel boundary. CWE-269 (Improper Privilege Management) precisely describes the root cause: a kernel-level capability - the ability to terminate any OS process - is exposed to the full user population without constraining it to privileged callers. The CPE entry in the NVD data (cpe:2.3:a:n/a:n/a) is a non-informative placeholder; affected product identity is derived solely from the CVE description and OPSWAT product reference.
RemediationAI
No vendor-released patch has been identified at time of analysis and no fixed version number is confirmed from available references. Organizations should contact OPSWAT support directly regarding an updated ardrv.sys via the OESIS Framework product page (https://www.opswat.com/products/oesis-framework/application-removal). As a compensating control, administrators can restrict access to the ardrv.sys device object using Windows discretionary access control (DACL) on the device namespace, preventing unprivileged processes from obtaining a handle - note this may break legitimate AppRemover functionality. Alternatively, where the AppRemover driver is not actively needed, unloading or blocking the driver via Windows Driver Blocklist policy eliminates the attack surface entirely. Monitoring for anomalous process termination events targeting security tools (via EDR telemetry, Sysmon Event ID 5, or Windows Security Event 4689) can provide detection coverage until a patch is available.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today