☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

CVE-2025-0664

CVE-2025-0664 Code Execution in OpenSSL
📅 PUBLISHED: 2025-07-21 00:00 UTC 🔄 UPDATED: 2026-09-23 20:25 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1574
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.7
AV: L Attack Vector Local
AC: H Attack Complexity High
PR: H Privileges Required High
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
6.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-0664 is a local privilege escalation vulnerability in an OpenSSL-dependent monitoring agent component. A locally authenticated attacker with elevated (but non-SYSTEM) privileges can craft a malicious OpenSSL configuration file that, when processed by the agent, causes it to load an arbitrary shared library. This results in code execution with SYSTEM-level privileges, fully compromising the endpoint and disabling security defenses. The vulnerability underscores the risk of agent-based security products trusting configuration-file inputs and OpenSSL's configuration-loading mechanisms without proper integrity checks. Organizations running the affected agent should treat this as a high-priority hardening item, apply the claimed patch, and implement the listed monitoring and mitigation controls.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in how the affected agent (vendor not fully disclosed in available CVE data, but confirmed to be OpenSSL-dependent) handles OpenSSL configuration files during its initialization routine. OpenSSL supports a config file mechanism that can specify engine loading, provider initialization, and custom dynamic loading of shared objects via the dynamic engine or openssl_conf sections. The affected agent processes a configuration file at startup (or during a specific operation) without adequately validating the file's origin, integrity, or contents against tampering by a lower-privileged but locally authenticated user.

Mechanism:
The agent runs as a Windows service or system daemon with SYSTEM privileges. When it starts, it calls OPENSSL_init_crypto() or a similar initialization function, which reads the OpenSSL configuration. An attacker who can write to the location where the agent looks for this config (e.g., a world-writable directory, a directory where the service bin path can be influenced, or via a symlink attack on the configuration path) can inject directives such as:

openssl_conf = openssl_init

[openssl_init]
engines = engine_section

[engine_section]
dynamic = dynamic_section

[dynamic_section]
dynamic_path = C:\\malicious\\payload.dll
init = 1

When OpenSSL processes this, it loads payload.dll into the agent's process context. Because the agent runs with SYSTEM privileges, the injected library executes with SYSTEM-level rights.

Attack surface:

  • Local authenticated attacker (any user who can write to the config path or manipulate the environment).
  • The agent's service configuration must permit the config file to be loaded from a non-protected location, or the attacker exploits a path traversal/symlink weakness to place the malicious file where the agent expects a legitimate one.
  • The flaw is in the agent's failure to cryptographically sign or restrict the OpenSSL configuration file, not in OpenSSL itself.

Technical detail (likely code path):
The vulnerable function likely resembles:

#ifdef OPENSSL_NO_ENGINE
    /* safe */
#else
    if (conf == NULL) conf = NCONF_default(NULL);
    ERR_set_mark();
    if (NCONF_load(conf, config_file, &e)) { ... }
#endif

The agent passes a user-influenced filename to NCONF_load without verifying the path's ACLs.

Exploitation Scenarios

Scenario: Privilege Escalation on a Managed Endpoint

  1. Reconnaissance / Target Identification:
    The attacker gains a foothold on a Windows endpoint (e.g., via phishing or a secondary vulnerability) with a low-privileged user account. They enumerate services running as SYSTEM, specifically looking for the affected agent process (e.g., AgentService.exe or openssl-agent.exe) and its working directory.

  2. Configuration File Placement:
    The attacker determines the path the agent uses for OpenSSL configuration. This can be found by inspecting the service's ImagePath, default OPENSSL_CONF environment variable, or probing standard paths (e.g., C:\ProgramData\<Vendor>\openssl.cfg, C:\Program Files\<Vendor>\conf\openssl.cnf). If the directory is writable by users (a common misconfiguration), they drop a malicious openssl.cfg. Alternatively, they create a symlink pointing any expected config path to their malicious file.

  3. Weaponization:
    The attacker compiles a DLL (e.g., payload.dll) containing reverse shell or credential-dumping code. The config file is crafted to trigger loading of this DLL via OpenSSL's dynamic engine/loader:

    openssl_conf = init_section
    
    [init_section]
    providers = provider_sect
    
    [provider_sect]
    default = default_sect
    
    [default_sect]
    activate = 1
    

    or the legacy engine path as shown earlier.

  4. Trigger / Execution:
    The attacker restarts the agent service (if they have SERVICE_CHANGE_CONFIG or SERVICE_STOP/START permission — often granted to standard users on some systems) or simply waits for the agent to restart automatically (e.g., during reboot or scheduled task). Upon restart, the agent loads the malicious config, dynamically loads payload.dll into the SYSTEM context, and the DLL's entry point executes.

  5. Post-Exploitation:
    The attacker's DLL disables the agent's endpoint protection service (e.g., sc stop AgentService, terminates AV process, unloads kernel callbacks), then spawns a SYSTEM shell (cmd.exe /c whoami) or extracts cached credentials (SAM/SYSTEM hive) from C:\Windows\System32\config\. They maintain persistence via a service or scheduled task, all under SYSTEM privileges.

Impact: Complete compromise of the endpoint, lateral movement via harvested credentials, and potential network-wide propagation if the agent is centrally managed (attacker can push further malicious config updates).

Impact Assessment

Business Impact:

  • Confidentiality: An attacker with SYSTEM-level code execution gains access to all local data, including encrypted files accessible only to the SYSTEM account, DPAPI keys, and cached domain credentials.
  • Integrity: The attacker can disable security tooling, alter logs, modify system files, and install rootkits or kernel-level persistence.
  • Availability: The agent's failure could cause system instability; moreover, the attacker could deliberately crash services or trigger a denial of service.

Affected Systems:

  • Any endpoint or server running the vulnerable agent as a SYSTEM service with an OpenSSL configuration file that is world-readable/writable.
  • Systems with centralized management where the agent pulls configs from a network share (if that share is writable by lower-privileged users, attack surface expands).

Blast Radius:

  • Local scope per endpoint, but the ability to disable endpoint defenses and extract domain credentials escalates to domain-wide risk. The CVSS score is N/A (unknown), but based on the vector (local, high privileges required), the effective risk is High (7.0-8.9) when considering the SYSTEM-level impact and post-breach lateral movement potential.

CVSS Context:
The provided CVSS vector is unknown. A realistic partial vector would be CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H (Local, High complexity, High privileges, no user interaction, Changed scope, High impact), which scores 7.8. However, per instruction, we faithfully report CVSS as N/A in metadata.

Detection Guidance

Sigma Rule

title: Suspicious OpenSSL Config Loading by SYSTEM Agent
id: cve-2025-0664
status: experimental
description: Detects agent processes loading non-standard OpenSSL dynamic libraries
logsource:
  category: process_creation
  product: windows
detection:
  selection_image:
    Image|endswith: '\AgentService.exe'
  selection_config:
    CommandLine|contains:
      - 'openssl.cfg'
      - 'openssl.cnf'
  selection_dll:
    CommandLine|contains:
      - 'dynamic_path'
      - 'engine_id'
  condition: selection_image and selection_config and selection_dll
level: high
fields:
  - Image
  - CommandLine
  - ParentImage
tags:
  - attack.privilege_escalation
  - attack.t1574
  - cve.2025.0664
falsepositives:
  - Legitimate management actions that modify OpenSSL config

YARA Rule

rule CVE_2025_0664_Malicious_OpenSSL_Config {
    meta:
        author = "ValtersIT SOC"
        description = "Detects malicious OpenSSL config used for arbitrary DLL loading"
        date = "2025-01-15"
        cve = "CVE-2025-0664"
        severity = "high"
    strings:
        $s1 = "dynamic_path" ascii
        $s2 = "openssl_conf" ascii
        $s3 = ".dll" ascii nocase
        $s4 = "engine_id" ascii
        $s5 = "init = 1" ascii
        $s6 = "C:\\" ascii nocase
    condition:
        filesize < 10KB and
        (uint16(0) == 0x0D0A or uint16(0) == 0x0A) and  // INI-style file
        2 of ($s1, $s2, $s4, $s5) and
        $s3 and $s6
}

Suricata IDS Rule

alert ip any any -> any any (msg:"CVE-2025-0664: Potential malicious OpenSSL config download or SMB share access"; flow:established,to_server; content:"openssl_conf"; content:"dynamic_path"; content:".dll"; nocase; threshold: type limit, track by_dst, count 1, seconds 300; classtype:attempted-admin; sid:202506641; rev:1;)

Note: Since this is a local attack, network detection is limited. The rule focuses on SMB file share access where the malicious config may be staged or pulled from a network share. Adjust IP/ports (445, 139) as needed.

Elastic Detection

sequence by process.entity_id with maxspan=5s
  [process where process.name : "AgentService.exe" and event.type == "start"]
  [file where event.type == "change" and file.path : ("*openssl.cfg", "*openssl.cnf") and process.name : "AgentService.exe"]

Splunk SPL Query

index=windows sourcetype="WinEventLog:Security"
| where EventCode=4688
| search "AgentService.exe" AND "CommandLine" IN ("*openssl*cfg*", "*openssl*cnf*")
| table _time, Account_Name, New_Process_Name, CommandLine
| eval suspicious_config = if(CommandLine LIKE "%dynamic_path%" OR CommandLine LIKE "%engine_id%", "YES", "NO")
| where suspicious_config="YES"

Wazuh OSSEC Rule

<group name="cve-2025-0664,">
  <rule id="100251" level="15">
    <if_sid>5730</if_sid> <!-- syscheck file change -->
    <field name="file">.*openssl\.(cfg|cnf)</field>
    <description>CVE-2025-0664: OpenSSL config file modified - potential DLL injection</description>
    <group>privilege_escalation,</group>
  </rule>
</group>

(Associated with a localfile monitoring rule for file integrity on the config path.)

Mitigation & Patch Guidance

Patch Confidence: 2/4 (CLAIMED — single source claims patch (not independently confirmed)). The NVD description does not provide an explicit patched version. One source claims a patch exists; this has not been independently verified. Therefore, treat this as urgent but verify against your vendor's channel.

1. Immediate Mitigations (No Patch Required):

  • Restrict ACLs on the agent's installation directory and any path referenced by OPENSSL_CONF environment variable to SYSTEM and Administrators only. Remove Users and Authenticated Users write permissions.
  • Set the OPENSSL_CONF environment variable to point to a protected location, e.g., C:\ProgramData\<Vendor>\config\openssl.cnf with explicit deny write to non-admin users.
  • If the agent supports it, disable OpenSSL engine loading and dynamic provider support via the agent's own hardening config (if exposed).
  • Monitor for unauthorized service restarts and config file integrity (use File Integrity Monitoring, e.g., auditpol on the config path).
  • Revoke SERVICE_CHANGE_CONFIG permission for standard users on the service.

2. Patch/Upgrade Steps:

  • Check the vendor's advisory channels (NVD CVE page, vendor website) for a patched build of the agent.
  • Because patch confidence is 2/4 and unconfirmed, verify the patch version against the vendor's release notes before deployment.
  • If a patched version exists per your vendor, upgrade the agent as soon as testing validates compatibility with your environment. Replace the agent's binary under a tight change-control window.

3. Long-Term Hardening:

  • Adopt the principle of least privilege for all services — run the agent with the minimum privileges required (or as a service account with restricted rights) where possible.
  • Implement application whitelisting (e.g., Windows Defender Application Control, AppLocker) to block unexpected DLL loads.
  • Use Endpoint Detection & Response (EDR) with behavioral detection for DLL injection into SYSTEM processes.
  • Periodically audit locally installed agents and their configuration file integrity.
  • Ensure OpenSSL libraries are managed centrally and configuration files are signed/checksummed by the vendor.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2025-0664
  2. OpenSSL Security Policy / Config Docs: https://docs.openssl.org/3.4/man5/config/
  3. MITRE ATT&CK: https://attack.mitre.org/techniques/T1574/ (Hijack Execution Flow)
  4. CISA KEV: Not listed (NO), no known exploits in the wild at the time of writing.
  5. Researcher/Community Discussion: No public PoC or dedicated blog confirmed beyond NVD; monitor vendor advisories and OpenSSL mailing lists for updates.

Reporting Note: This CVE is not in CISA's Known Exploited Vulnerabilities catalog; no threat-actor-campaign or exploit-in-the-wild evidence exists in public reporting to date. Organizations should still prioritize the above because the attack is trivially achievable locally and targets endpoint defenses.

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-0664/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.