← Back to Feed CACHED · 2026-05-17 09:42:19 · cache_key CVE-2025-29912
CVE-2026-11419 · CWE-22 · Disclosed 2026-06-05

A path traversal vulnerability exists in the Altium Enterprise Server Vault Service UploadController due to…

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
01 · The Real Story

This is a loading dock key that opens into the server room, but only after you already got past the front desk

CVE-2026-11419 is a CWE-22 path traversal in the Altium Enterprise Server Vault Service UploadController. The vulnerable flow is described as an image-upload request where a regular authenticated user can supply a crafted absolute path so the configured storage root is ignored, turning a normal upload into an arbitrary file write anywhere the Altium service account can write. Based on Altium's April 1, 2026 release notes and the pattern of adjacent 2026 Enterprise Server traversal fixes, the most likely affected range is on-prem Altium Enterprise Server versions before 8.0.4; Altium 365 cloud is not affected.

In practice this is worse than a normal authenticated file upload bug because the primitive is server-side arbitrary write, which is how you get to config overwrite, binary replacement, web-accessible payload placement, and service takeover. But it is not CRITICAL in real enterprise conditions because the chain starts with authenticated remote access, is limited to the on-prem product population, and depends on service-account write permissions plus a useful target path to turn file write into durable compromise.

"ASSESSED AT HIGH: arbitrary server-side file write is serious, but auth and on-prem scope keep it below CRITICAL"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Reach the Enterprise Server API surface

The attacker first needs network reachability to the Altium Enterprise Server web/API surface, typically over HTTPS on the documented server ports. In real environments this usually means VPN access, partner access, a published reverse proxy, or an already-compromised internal foothold rather than blind internet reachability. Tools: curl, browser dev tools, or Burp Suite for endpoint mapping.
Conditions required:
  • Target runs on-prem Altium Enterprise Server
  • Attacker can reach the server over the enterprise network or published edge
  • Relevant upload endpoint is exposed through the application path
Where this breaks in practice:
  • Many deployments are internal-only or fronted by VPN/reverse proxy controls
  • Altium documents that localhost 9780 is required internally, and even warns customers to block external HTTP exposure
  • Internet-wide exposure is likely far smaller than the installed base
Detection/coverage: External scanners can usually find the web service and version fingerprint, but they will not prove exploitability of this controller. Network exposure can be checked via perimeter scanning and IIS/reverse-proxy inventories.
STEP 02

Authenticate as a normal workspace user

The exploit description requires a regular authenticated workspace user, not admin. That means the attacker needs valid credentials, an active session, or a stolen token before the traversal even starts. Tools: browser session reuse, Burp Suite Repeater, or Invoke-WebRequest/curl with session cookies.
Conditions required:
  • Valid workspace credentials or hijacked session
  • User account allowed to access the upload workflow
  • Target version remains unpatched
Where this breaks in practice:
  • This is post-auth by design, so it is already one step past initial access
  • SSO, MFA, IP allowlists, and disabled dormant accounts reduce reachable population
  • Some environments tightly restrict who can even sign in to the workspace
Detection/coverage: Authentication events should exist in IdP, IIS, and application logs, but most vuln scanners will only infer exposure from version and product presence.
STEP 03

Abuse UploadController path handling to write outside the storage root

Using an upload request, the attacker supplies a crafted path component so the server discards the intended storage directory and writes attacker-controlled content to an arbitrary server path writable by the service account. This is the key primitive: arbitrary file write as the application service identity. Tools: Burp Suite, raw multipart curl, or a custom Python/PowerShell request generator.
Conditions required:
  • Vulnerable UploadController code path is enabled
  • Server accepts the crafted multipart/image upload request
  • Chosen destination path is writable by the service account
Where this breaks in practice:
  • The attacker still needs a valid writable target path on Windows/IIS
  • AV/EDR may quarantine obvious webshells or binaries on write
  • Hardened service accounts may not have useful write access outside application data paths
Detection/coverage: This step is poorly covered by commodity scanners unless a dedicated check exists. Best visibility comes from IIS logs, Sysmon/Event ID 11 file creation, EDR telemetry, and FIM on Altium/IIS directories.
STEP 04

Turn file write into impact

From there the attacker aims for one of three outcomes: write into a web-served directory for code execution, overwrite config to seize secrets or break integrity, or replace application files for service takeover or denial of service. The most dangerous cases are those where the service account can touch executable or configuration paths. Tools: dropped ASPX payloads, config overwrite, or binary replacement depending on permissions.
Conditions required:
  • Writable high-value target exists
  • Service account permissions allow impactful overwrite or payload placement
  • Downstream execution path is reachable or service restart occurs
Where this breaks in practice:
  • Not every arbitrary write becomes RCE; some paths only yield DoS or limited tampering
  • IIS/web root separation and least-privileged service accounts blunt the blast radius
  • EDR commonly catches webshell placement or suspicious child processes
Detection/coverage: EDR, Sysmon, file-integrity monitoring, Windows service change events, and IIS worker process anomalies are the main detections. Version-only scanning misses the actual post-write impact path.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo confirmed in-the-wild exploitation found in the retrieved sources. Not listed in CISA KEV.
Proof-of-concept availabilityNo public PoC repo or exploit write-up was found in the retrieved sources for CVE-2026-11419 specifically.
EPSS0.00422 (about 0.422% probability over 30 days) from the user-provided intel; percentile was not independently verified from the FIRST API during this assessment.
KEV statusNo. CISA Known Exploited Vulnerabilities catalog does not show a listing for this CVE; due date N/A.
Affected deployment scopeOn-prem Altium Enterprise Server only. The retrieved description says Altium 365 cloud is not affected because the affected endpoint is not reachable there and cloud storage architecture removes the same write primitive.
Affected versionsLikely all Altium Enterprise Server versions prior to 8.0.4. This is an inference from Altium's April 1, 2026 release notes plus adjacent Enterprise Server traversal advisories; I did not retrieve a first-party advisory page for this exact CVE.
Fixed version8.0.4 is the most likely fix level for this issue on on-prem Enterprise Server, based on the April 1, 2026 release notes entry for a critical authenticated arbitrary-file-write flaw.
CVSS vector interpretationNo vendor or authority CVSS was published. A reasonable working vector for the raw bug is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, but noisgate scores below that raw technical impact because PR:L + on-prem-only exposure materially narrows the real attack population.
Exposure/scanning realityI did not verify Shodan/Censys/FOFA population counts in this assessment. What we do know from Altium docs is that Enterprise Server commonly uses HTTP 9780 and HTTPS 9785, and Altium explicitly warns customers to block external HTTP 9780 exposure.
Disclosure and reportingDisclosed 2026-06-05. The retrieved third-party record attributes the CVE to Altium; a public researcher credit for this exact CVE was not located in the sources reviewed.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (8.1/10)

The decisive factor is authenticated access: this bug is dangerous because it can become arbitrary server-side file write and even service takeover, but it starts after the attacker already has a valid workspace user session. That sharply reduces the reachable population versus pre-auth edge bugs, even though the downstream impact on a vulnerable Windows/IIS host can be severe.

MEDIUM Severity bucket and score
HIGH Exploit chain requires authenticated access
MEDIUM Likely fixed version 8.0.4 inference

Why this verdict

  • Arbitrary file write is the real issue: once the storage root can be bypassed, this stops being a benign upload bug and becomes overwrite-or-drop-anywhere the service account can write.
  • Authentication is major downward pressure: the attacker needs a normal workspace account or stolen session first, which makes this a post-initial-access vulnerability in many enterprises.
  • On-prem only narrows exposure: the cloud product is out of scope, so the reachable population is the subset still running self-managed Enterprise Server.
  • Regular user is enough: despite the auth requirement, this does not appear to require admin privileges, so compromise of any ordinary account can be enough to start the chain.
  • Low exploitation signals matter: EPSS is low, KEV is negative, and I found no public PoC or campaign reporting, which argues against a CRITICAL rush score.

Why not higher?

I am not calling this CRITICAL because it is not pre-auth and not cloud-wide. The attack population is constrained by three stacked frictions: the target must be running the on-prem product, the attacker must reach it, and they must already have a valid authenticated workspace user context before the traversal matters.

Why not lower?

I am not dropping this to MEDIUM because the primitive is still arbitrary file write on the server, not a cosmetic upload bypass. On a Windows/IIS application server, arbitrary write is one configuration mistake away from webshell placement, config theft, service takeover, or destructive overwrite.

05 · Compensating Control

What to do — in priority order.

  1. Restrict exposure to trusted paths only — Put Enterprise Server behind VPN, reverse proxy, or source-IP restrictions and remove unnecessary direct access, especially any externally reachable HTTP/HTTPS bindings. For a HIGH verdict, deploy this within 30 days; it cuts off the largest real-world slice of the attack population before credentials can be used.
  2. Tighten workspace authentication — Enforce SSO/MFA, disable stale accounts, and reduce who actually has workspace access because this bug needs a valid authenticated user. For a HIGH verdict, complete this within 30 days; shrinking the authenticated user pool directly shrinks exploitability.
  3. Harden the Altium service account and writable paths — Review the Windows service identity and remove write access to IIS web roots, application binaries, startup locations, and high-value config paths wherever possible. For a HIGH verdict, do this within 30 days; it turns many arbitrary-write outcomes into dead ends instead of RCE.
  4. Watch for suspicious file writes under Altium and IIS directories — Enable Sysmon/EDR/FIM coverage on Altium install paths, storage roots, IIS content directories, and config files so arbitrary-write attempts create high-signal alerts. For a HIGH verdict, enable within 30 days; this is your best compensating visibility if patching is not yet complete.
What doesn't work
  • Relying on HTTPS alone does not help; this is an authenticated application-layer abuse case, not a transport-security problem.
  • Putting the server behind a WAF without deep authenticated request awareness is weak protection; multipart upload semantics and valid session cookies often sail through.
  • Admin-only MFA is insufficient if ordinary workspace users can hit the vulnerable upload flow; the prerequisite is any valid authenticated user, not necessarily an administrator.
06 · Verification

Crowdsourced verification payload.

Run this on the target Windows server that hosts Altium Enterprise Server, from an elevated PowerShell session if possible so registry and program directories are readable. Invoke it exactly as powershell -ExecutionPolicy Bypass -File .\check-altium-cve-2026-11419.ps1; it needs only local read access and reports VULNERABLE, PATCHED, or UNKNOWN based on discovered product version.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# check-altium-cve-2026-11419.ps1

# Detect likely exposure to CVE-2026-11419 by checking installed Altium Enterprise Server version.

# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN


$ErrorActionPreference = 'SilentlyContinue'
$fixedVersion = [version]'8.0.4'
$found = @()

function Add-Candidate {
    param(
        [string]$Source,
        [string]$Name,
        [string]$VersionString,
        [string]$Path
    )
    if ([string]::IsNullOrWhiteSpace($VersionString)) { return }
    try {
        $v = [version]($VersionString -replace '[^0-9\.]','')
        $script:found += [pscustomobject]@{
            Source  = $Source
            Name    = $Name
            Version = $v
            Raw     = $VersionString
            Path    = $Path
        }
    } catch {}
}

# 1) Uninstall registry keys

$uninstallRoots = @(
    'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
)
foreach ($root in $uninstallRoots) {
    Get-ItemProperty $root | ForEach-Object {
        $name = $_.DisplayName
        if ($name -match 'Altium' -and ($name -match 'Enterprise Server|On-Prem Enterprise Server|Concord Pro|NEXUS Server|Vault')) {
            Add-Candidate -Source 'Registry-Uninstall' -Name $name -VersionString $_.DisplayVersion -Path $_.InstallLocation
        }
    }
}

# 2) Common install directories

$dirs = @(
    "$env:ProgramFiles\Altium",
    "$env:ProgramFiles(x86)\Altium",
    'C:\Program Files\Altium',
    'C:\Program Files (x86)\Altium'
) | Select-Object -Unique

foreach ($dir in $dirs) {
    if (-not (Test-Path $dir)) { continue }

    Get-ChildItem -Path $dir -Directory -Recurse -Depth 2 | ForEach-Object {
        if ($_.FullName -match 'Enterprise Server|Concord Pro|NEXUS Server|Vault') {
            # Try a few likely executable/DLL files for ProductVersion

            $files = @(
                Get-ChildItem -Path $_.FullName -Filter '*.exe' -File -Recurse -Depth 2,
                Get-ChildItem -Path $_.FullName -Filter '*.dll' -File -Recurse -Depth 2
            ) | Select-Object -Unique

            foreach ($f in $files) {
                try {
                    $ver = (Get-Item $f.FullName).VersionInfo.ProductVersion
                    if ($ver) {
                        Add-Candidate -Source 'FileVersion' -Name $f.Name -VersionString $ver -Path $f.FullName
                    }
                } catch {}
            }
        }
    }
}

if (-not $found -or $found.Count -eq 0) {
    Write-Output 'UNKNOWN - Could not determine an installed Altium Enterprise Server version from registry or filesystem.'
    exit 2
}

$best = $found | Sort-Object Version -Descending | Select-Object -First 1
Write-Output ("Detected: {0} | Version: {1} | Source: {2} | Path: {3}" -f $best.Name, $best.Version, $best.Source, $best.Path)

if ($best.Version -lt $fixedVersion) {
    Write-Output 'VULNERABLE - Installed version is older than 8.0.4 and should be treated as likely exposed to CVE-2026-11419.'
    exit 1
}
else {
    Write-Output 'PATCHED - Installed version is 8.0.4 or newer.'
    exit 0
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: treat this as HIGH and focus first on the reachable, authenticated subset of your estate. Under the noisgate mitigation SLA, restrict exposure, enforce stronger workspace auth, and harden service-account write paths within 30 days; under the noisgate remediation SLA, move every affected on-prem Enterprise Server instance to the fixed release within 180 days. There is no active-exploitation override here, so you do not need a same-day fire drill, but any internet-reachable or partner-reachable instance with broad user access belongs at the front of the queue.

Sources

  1. Altium Security Advisories
  2. Altium On-Prem Enterprise Server 8.0 Release Notes
  3. Altium KB: Disable HTTP Access for Enterprise Server
  4. Altium Documentation: Information for IT Departments
  5. Altium Documentation: Adding Users & Roles
  6. FIRST EPSS
  7. CISA Known Exploited Vulnerabilities Catalog
  8. VulDB record for CVE-2026-11419
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.