Ameeba Exploit Tracker

Tracking CVEs, exploits, and zero-days for defensive cybersecurity research.

Ameeba Blog Search
TRENDING · 1 WEEK
Attack Vector
Vendor
Severity

CVE-2025-50892: Privilege Escalation Vulnerability in EaseUs Todo Backup Driver

Ameeba Chat Store screens
Download Ameeba Chat

Overview

This report outlines a critical privilege escalation vulnerability identified as CVE-2025-50892. It affects the eudskacs.sys driver version 20250328 shipped with EaseUs Todo Backup 1.2.0.1. The vulnerability can allow a local, low-privileged attacker to perform arbitrary raw disk reads and writes, potentially leading to data leakage or system compromise.

Vulnerability Summary

CVE ID: CVE-2025-50892
Severity: High, CVSS 7.8
Attack Vector: Local
Privileges Required: Low
User Interaction: None
Impact: The vulnerability can lead to unauthorized information disclosure, denial of service, or local privilege escalation.

Affected Products

Ameeba Chat Icon Escape the Surveillance Era

Most apps won’t tell you the truth.
They’re part of the problem.

Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.

Ameeba Chat gives you a way out.

  • • No phone number
  • • No email
  • • No personal info
  • • Anonymous aliases
  • • End-to-end encrypted

Chat without a trace.

Product | Affected Versions

EaseUs Todo Backup | 1.2.0.1

How the Exploit Works

The vulnerability arises from the eudskacs.sys driver’s failure to properly validate privileges for I/O requests (IRP_MJ_READ/IRP_MJ_WRITE) sent to its device object. An attacker with low-level privileges can send these requests to read or write data arbitrarily on the disk. This could lead to unauthorized access to sensitive data, disruption of system services, or an escalation of the attacker’s privileges on the system.

Conceptual Example Code

Given the nature of this vulnerability, a conceptual exploit would involve a malicious low privileged application making a system call to the vulnerable driver, as demonstrated below:

#include <windows.h>
int main() {
HANDLE hDevice = CreateFile("\\\\.\\EUDSKACS", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hDevice == INVALID_HANDLE_VALUE) {
printf("Failed to open device: %d\n", GetLastError());
return 1;
}
DWORD bytesReturned;
if (!DeviceIoControl(hDevice, IOCTL_CODE, &inputBuffer, sizeof(inputBuffer), &outputBuffer, sizeof(outputBuffer), &bytesReturned, NULL)) {
printf("DeviceIoControl failed: %d\n", GetLastError());
return 1;
}
CloseHandle(hDevice);
return 0;
}

In this conceptual example, IOCTL_CODE would be a control code for an I/O operation that the eudskacs.sys driver does not properly validate. The inputBuffer and outputBuffer would contain arbitrary data to be written to or read from the disk.

Want to discuss this further? Join the Ameeba Cybersecurity Group Chat.

Disclaimer:

The information and code presented in this article are provided for educational and defensive cybersecurity purposes only. Any conceptual or pseudocode examples are simplified representations intended to raise awareness and promote secure development and system configuration practices.

Do not use this information to attempt unauthorized access or exploit vulnerabilities on systems that you do not own or have explicit permission to test.

Ameeba and its authors do not endorse or condone malicious behavior and are not responsible for misuse of the content. Always follow ethical hacking guidelines, responsible disclosure practices, and local laws.
Ameeba Chat