CVE-2019-25550
Executive Summary
CVE-2019-25550 is a buffer overflow vulnerability in Verypdf Encrypt PDF version 2.3. The flaw allows a local attacker to crash the application by providing an excessively long string (1000 bytes) into the User Password or Master Password fields within the Settings dialog. When the application attempts to import a PDF file after such input, a buffer overflow occurs, leading to a denial of service (DoS). The CVSS score is 6.2 (Medium), with a local attack vector and low complexity. No patch is currently available from the vendor, and exploitation requires user interaction (opening the Settings dialog and pasting the long string). This vulnerability is not related to any WordPress plugin or component.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- Base Score: 6.2 (Medium)
- Attack Vector (AV): Local (L) – The attacker must have local access to the system.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): Required (R) – The victim must open the Settings dialog and paste the malicious string.
- Scope (S): Unchanged (U) – The vulnerability does not affect other components.
- Confidentiality (C): None (N) – No data exposure.
- Integrity (I): None (N) – No data modification.
- Availability (A): High (H) – Application crash leads to denial of service.
Threat Level: Medium. The vulnerability is easy to exploit but requires local access and user interaction. It only causes a crash, not code execution or data theft.
Deep Dive & Mechanics
The vulnerability resides in the password handling logic of Verypdf Encrypt PDF version 2.3. When a user enters a password (User or Master) in the Settings dialog, the application copies the input into a fixed-size buffer without proper bounds checking. If the input exceeds the buffer capacity (approximately 1000 bytes), it overwrites adjacent memory, corrupting the stack or heap. This corruption leads to an access violation when the application later attempts to import a PDF file, causing a crash.
The root cause is a classic buffer overflow (CWE-120) due to the use of unsafe string copy functions (e.g., strcpy or memcpy without length checks). The overflow does not appear to be exploitable for arbitrary code execution in the public PoC, but it reliably crashes the application.
Vulnerable vs. Patched Code
No patched version is available. The vulnerable code is in the password input handling routine. A hypothetical fix would involve:
- Vulnerable (pseudocode):
char buffer[256]; strcpy(buffer, user_input); // No bounds check - Patched (pseudocode):
char buffer[256]; strncpy(buffer, user_input, sizeof(buffer) - 1); buffer[sizeof(buffer) - 1] = '\0';
Since no patch exists, users must rely on mitigations (see Remediation & Mitigation).
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Verypdf Encrypt PDF 2.3 installed on a Windows system.
- Local access to the target machine.
Steps:
- Launch Verypdf Encrypt PDF.
- Navigate to Settings > Security.
- In the User Password or Master Password field, paste a string of 1000 characters (e.g.,
Arepeated 1000 times). - Click OK or apply the settings.
- Attempt to import a PDF file (e.g., via File > Import).
- The application will crash immediately.
Proof of Concept (Python):
# CVE-2019-25550 PoC
payload = "A" * 1000
print(payload)
# Paste this output into the password field.
Blue Team (Detection & Prevention)
Detection:
- Monitor for repeated application crashes of
EncryptPDF.exe. - Use Sysmon to detect unusual process terminations.
- Enable Application Event Logging and look for Event ID 1000 (Application Error) referencing
EncryptPDF.exe.
Prevention:
- Restrict local user permissions to prevent untrusted users from running the application.
- Use AppLocker or Software Restriction Policies to block execution of Encrypt PDF if not needed.
- Apply input validation at the network level (e.g., via a proxy) if the application is used in a managed environment.
Indicators of Compromise (IOCs)
- File Hash (SHA-256):
UNKNOWN(No specific malicious file; the vulnerability is triggered by user input) - Process Name:
EncryptPDF.exe - Event Log Entry: Application Error (Event ID 1000) with faulting module
EncryptPDF.exeand exception code0xc0000005(Access Violation) - Registry Key:
HKEY_CURRENT_USER\Software\Verypdf\EncryptPDF\Settings(may contain the long password string) - Network Traffic: None (local vulnerability)
Detection Engineering
YARA Rule
rule CVE_2019_25550_EncryptPDF_Crash {
meta:
description = "Detects crash events related to CVE-2019-25550 buffer overflow in Verypdf Encrypt PDF"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2019-25550"
strings:
$s1 = "EncryptPDF.exe" nocase
$s2 = "0xc0000005" nocase
$s3 = "Application Error" nocase
condition:
all of them
}
Sigma Rule
title: CVE-2019-25550 Verypdf Encrypt PDF Buffer Overflow Crash
id: 8a3f7c2e-1b4d-4e5f-9a0b-2c3d4e5f6a7b
status: experimental
description: Detects application crash events caused by CVE-2019-25550 buffer overflow in Verypdf Encrypt PDF
author: Valters IT
date: 2025-04-10
logsource:
product: windows
service: application
detection:
selection:
EventID: 1000
ApplicationName: 'EncryptPDF.exe'
ExceptionCode: '0xc0000005'
condition: selection
falsepositives:
- Other crashes of EncryptPDF.exe due to unrelated issues
level: medium
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2019-25550 Verypdf Encrypt PDF Buffer Overflow Attempt"; content:"|41 41 41 41|"; depth:1000; classtype:attempted-dos; sid:1000001; rev:1;)
Note: This Suricata rule is a placeholder for network-based detection of the long string being transmitted (e.g., if the password is sent over a network protocol). In practice, the vulnerability is local, so network detection is not applicable.
Remediation & Mitigation
- Vendor Patch: No patch is available. Contact Verypdf for updates.
- Mitigation:
- Do not paste untrusted input into password fields.
- Use a different PDF encryption tool that is actively maintained.
- Restrict local access to the application via Group Policy or user permissions.
- Monitor for crashes and investigate if they occur repeatedly.
- Workaround: Avoid using the Settings dialog with untrusted input. If the application must be used, ensure only trusted users have access.
Valters IT
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.