☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-13669

CVE-2025-13669 Supply Chain Attack in Altera
📅 PUBLISHED: 2025-12-12 02:30 UTC 🔄 UPDATED: 2026-09-23 20:30 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.12%
👁️
0.12% probability
3.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-13669 is an Uncontrolled Search Path Element vulnerability (CWE-427) affecting Altera High Level Synthesis Compiler on Windows, versions 19.1 through 24.3. This flaw allows an attacker to perform Search Order Hijacking, potentially leading to arbitrary code execution in the context of the user running the compiler. The vulnerability has a CVSS score of 0.0 (likely unassigned or placeholder), but the underlying weakness is well-understood and exploitable in Windows environments. No public proof-of-concept, patch, or exploit code is currently available. The EPSS score is 0.0%, indicating low exploitation likelihood at this time, but the risk increases if the compiler is used in CI/CD or development pipelines.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a Windows-native binary vulnerability in Altera's High Level Synthesis Compiler, which is part of the Intel/Altera FPGA development toolchain. The risk is primarily to development and build environments where the compiler is installed.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (Unassigned)
  • Attack Vector: Local (Windows)
  • Attack Complexity: Low
  • Privileges Required: Low (user-level)
  • User Interaction: Required (user must launch the compiler)
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

Threat Level: Medium (due to local attack vector and lack of public exploit, but high impact if exploited in development environments).

Deep Dive & Mechanics

The vulnerability lies in how the Altera High Level Synthesis Compiler (HLS Compiler) resolves dynamic link libraries (DLLs) or other executable paths on Windows. The compiler uses an uncontrolled search path, meaning it searches for required components in directories that may be writable by a low-privileged user (e.g., the current working directory, %PATH%, or user-specific folders). An attacker can place a malicious DLL or executable in a location that the compiler searches before the legitimate system or application directory. When the compiler loads, it inadvertently executes the attacker's payload, leading to arbitrary code execution.

Attack Scenario:

  1. An attacker gains low-privileged access to a Windows machine (e.g., via phishing or another vulnerability).
  2. The attacker identifies that the Altera HLS Compiler is installed and used by a developer or build system.
  3. The attacker places a malicious DLL (e.g., version.dll, dbghelp.dll, or a custom DLL) in a directory that the compiler searches first (e.g., the current working directory of the build script).
  4. When the developer runs the HLS Compiler, the malicious DLL is loaded, executing the attacker's code with the user's privileges.
  5. The attacker can then escalate privileges, steal data, or pivot within the network.

Vulnerable vs. Patched Code

Since no patch is available, we cannot provide a direct code comparison. However, the vulnerable behavior is typical of applications that use LoadLibrary or CreateProcess without specifying a full path or using safe DLL search order mitigation (e.g., SetDllDirectory or LOAD_LIBRARY_SEARCH_SYSTEM32).

Vulnerable (Conceptual):

// Unsafe: relies on default search order
HMODULE hMod = LoadLibrary("helper.dll");

Patched (Conceptual):

// Safe: specify full path or use secure search
SetDllDirectory(L"C:\\Program Files\\Altera\\HLS\\bin");
HMODULE hMod = LoadLibrary(L"C:\\Program Files\\Altera\\HLS\\bin\\helper.dll");

Exploitation & Lab Setup

Red Team

Objective: Demonstrate DLL hijacking to gain code execution.

Prerequisites:

  • Windows VM with Altera HLS Compiler 19.1-24.3 installed.
  • Low-privileged user account.
  • Ability to write to a directory searched by the compiler (e.g., C:\Users\<user>\AppData\Local\Temp or project directory).

Steps:

  1. Create a malicious DLL (e.g., evil.dll) that executes a payload (e.g., reverse shell or calc.exe).
  2. Identify a DLL that the HLS Compiler loads unsafely (e.g., version.dll or dbghelp.dll). Use Process Monitor to find missing or hijackable DLLs.
  3. Place the malicious DLL in a directory that is searched before the legitimate one (e.g., the current working directory of the build script).
  4. Run the HLS Compiler (e.g., hls_compiler.exe).
  5. Observe that the malicious DLL is loaded and the payload executes.

Example DLL (C++):

#include <windows.h>
#pragma comment(linker, "/EXPORT:SomeExportFunction=legitdll.SomeExportFunction")

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
    if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
        // Execute payload (e.g., reverse shell)
        system("calc.exe");
    }
    return TRUE;
}

Blue Team

Detection:

  • Monitor for unexpected DLL loads by hls_compiler.exe using Sysmon Event ID 7 (Image Loaded).
  • Look for DLLs loaded from non-standard paths (e.g., C:\Users\*\AppData\Local\Temp\, C:\Windows\Temp\, or project directories).
  • Use AppLocker or Windows Defender Application Control (WDAC) to block untrusted DLLs.

Hunting Query (KQL):

DeviceEvents
| where ActionType == "DllLoaded"
| where FileName endswith ".dll"
| where InitiatingProcessFileName == "hls_compiler.exe"
| where FolderPath startswith "C:\\Users" or FolderPath startswith "C:\\Windows\\Temp"
| project Timestamp, DeviceName, InitiatingProcessFileName, FolderPath, SHA256

Indicators of Compromise (IOCs)

  • File Hashes: (No known malicious samples yet)
  • Process Names: hls_compiler.exe (legitimate, but abused)
  • DLL Names: Any DLL loaded from non-standard paths (e.g., version.dll, dbghelp.dll, msvcp140.dll)
  • Network Connections: Outbound connections from hls_compiler.exe to unknown IPs (if payload is a reverse shell)
  • Registry Changes: HKCU\Software\Microsoft\Windows\CurrentVersion\Run (if persistence is achieved)

Detection Engineering

YARA Rule

rule CVE_2025_13669_DLL_Hijack {
    meta:
        description = "Detects potential DLL hijacking targeting Altera HLS Compiler"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-13669"
    strings:
        $s1 = "hls_compiler.exe" nocase
        $s2 = "Altera" nocase
        $s3 = "High Level Synthesis" nocase
    condition:
        $s1 or ($s2 and $s3)
}

Sigma Rule

title: DLL Hijacking via Altera HLS Compiler
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects DLL load events from non-standard paths by hls_compiler.exe
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-13669
logsource:
    product: windows
    service: sysmon
detection:
    selection:
        EventID: 7
        Image: '*\hls_compiler.exe'
    filter:
        - ImageLoaded: 'C:\Program Files\Altera\*'
        - ImageLoaded: 'C:\Windows\System32\*'
        - ImageLoaded: 'C:\Windows\SysWOW64\*'
    condition: selection and not filter
falsepositives:
    - Legitimate DLLs loaded from custom Altera installation paths
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
    msg:"CVE-2025-13669 - Potential DLL Hijack Payload Download";
    flow:to_server,established;
    content:"hls_compiler"; nocase;
    content:".dll"; nocase;
    distance:0;
    classtype:attempted-user;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the compiler: Run Altera HLS Compiler in a sandboxed or containerized environment (e.g., Windows Sandbox, Docker with Windows containers).
  2. Restrict write permissions: Ensure that directories searched by the compiler (e.g., %PATH%, current working directory) are not writable by low-privileged users.
  3. Use Safe DLL Search Mode: Enable the Windows feature by setting HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode to 1 (default is 1 for Windows 10+).
  4. Monitor and audit: Deploy Sysmon and the Sigma rule above to detect anomalous DLL loads.

Long-Term Fix:

  • Apply an official patch from Altera/Intel when available.
  • Recompile the HLS Compiler with secure DLL loading practices (e.g., using SetDllDirectory or LOAD_LIBRARY_SEARCH_SYSTEM32).

Workaround:

  • Use a custom wrapper script that sets the working directory to a secure location before launching the compiler.

Valters IT
DevSecOps & Cyber Threat Intelligence

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-13669/ · 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.