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

CVE-2025-34229

CVE-2025-34229 Server-Side Request Forgery in Vasion
📅 PUBLISHED: 2025-09-29 20:41 UTC 🔄 UPDATED: 2026-09-23 20:24 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.53%
👁️
0.53% probability
13.3× 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
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-34229 is a blind Server-Side Request Forgery (SSRF) vulnerability in Vasion Print (formerly PrinterLogic) Virtual Appliance Host and Application. The flaw resides in the /var/www/app/console_release/hp/installApp.php script, which is reachable by unauthenticated attackers. When a printer is registered, the software stores the printer’s hostname in the variable $printer_vo->str_host_address without validation. It then constructs a URL like http://<host-address>:80/DevMgmt/DiscoveryTree.xml and sends the request using curl. No whitelist, private-network filtering, or input sanitization is performed, allowing an attacker to probe internal services, trigger internal actions, or gather intelligence. The vulnerability is blind, meaning the attacker cannot directly view the response data, but can still perform reconnaissance and lateral movement.

⚡ 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 a package manager (NPM, PyPI, Go, Ruby) but is a self-hosted appliance. No supply chain implications are present.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (No official vector provided)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (blind SSRF)
  • Integrity Impact: None
  • Availability Impact: None
  • Threat Level: Medium (due to blind nature but potential for internal network mapping)

Deep Dive & Mechanics

The vulnerability is a classic blind SSRF. The installApp.php script processes printer registration requests. The hostname provided by the attacker is stored in $printer_vo->str_host_address without any validation. The script then constructs a URL:

http://<host-address>:80/DevMgmt/DiscoveryTree.xml

This URL is passed to curl for execution. Because the request is blind, the attacker cannot see the response, but can:

  • Probe internal services (e.g., 10.0.0.1:22, 192.168.1.1:8080)
  • Trigger internal actions (e.g., hitting internal APIs)
  • Gather intelligence (e.g., timing-based port scanning)

The lack of a whitelist or private-network filtering allows the attacker to target any IP address, including loopback (127.0.0.1), private ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), and even link-local addresses.

Vulnerable vs. Patched Code

Vulnerable Code (simplified):

// installApp.php
$printer_vo->str_host_address = $_POST['host_address']; // No validation
$url = "http://" . $printer_vo->str_host_address . ":80/DevMgmt/DiscoveryTree.xml";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

Patched Code (expected):

// installApp.php
$host_address = $_POST['host_address'];
if (!filter_var($host_address, FILTER_VALIDATE_IP) || 
    !preg_match('/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/', $host_address) ||
    filter_var($host_address, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
    die("Invalid host address");
}
$printer_vo->str_host_address = $host_address;
$url = "http://" . $printer_vo->str_host_address . ":80/DevMgmt/DiscoveryTree.xml";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

The patch should include:

  • Input validation to ensure the hostname is a public IP or a valid hostname.
  • A whitelist of allowed IP ranges.
  • Blocking of private, loopback, and link-local addresses.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy Vasion Print Virtual Appliance version < 25.1.102.
  2. Set up a listener on an internal machine (e.g., 10.0.0.5:8080) to capture requests.
  3. Use the following exploit to trigger the SSRF:
# Exploit: Blind SSRF to internal service
curl -X POST "http://target-vasion/var/www/app/console_release/hp/installApp.php" \
  -d "host_address=10.0.0.5"

Advanced Exploitation:

  • Use timing-based port scanning to identify open ports on internal hosts.
  • Chain with other vulnerabilities (e.g., internal API abuse) for lateral movement.

Blue Team

Detection:

  • Monitor for POST requests to /var/www/app/console_release/hp/installApp.php with suspicious host_address parameters.
  • Look for outbound HTTP requests from the Vasion appliance to internal IP addresses (e.g., 10.x.x.x, 192.168.x.x, 172.16-31.x.x).
  • Alert on curl commands targeting private IP ranges.

Hunting:

  • Search logs for DevMgmt/DiscoveryTree.xml requests to non-standard IPs.
  • Correlate with network flow data to identify unexpected outbound connections.

Indicators of Compromise (IOCs)

  • Network:
    • Outbound HTTP requests to internal IPs (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) on port 80.
    • Requests to http://<internal-ip>:80/DevMgmt/DiscoveryTree.xml.
  • Logs:
    • POST requests to /var/www/app/console_release/hp/installApp.php with host_address containing private IPs.
  • File:
    • Modified installApp.php (if attacker attempts to patch).

Detection Engineering

YARA Rule

rule CVE_2025_34229_SSRF {
    meta:
        description = "Detects exploitation of CVE-2025-34229 blind SSRF in Vasion Print"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-34229"
    strings:
        $s1 = "installApp.php" ascii nocase
        $s2 = "str_host_address" ascii nocase
        $s3 = "DevMgmt/DiscoveryTree.xml" ascii nocase
        $s4 = "curl" ascii nocase
    condition:
        all of ($s1, $s2, $s3, $s4)
}

Sigma Rule

title: CVE-2025-34229 Blind SSRF in Vasion Print
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation attempts of CVE-2025-34229 via POST requests to installApp.php with internal IPs
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/var/www/app/console_release/hp/installApp.php'
        cs-uri-query|contains: 'host_address='
    filter:
        cs-uri-query|contains:
            - 'host_address=10.'
            - 'host_address=172.16.'
            - 'host_address=172.17.'
            - 'host_address=172.18.'
            - 'host_address=172.19.'
            - 'host_address=172.20.'
            - 'host_address=172.21.'
            - 'host_address=172.22.'
            - 'host_address=172.23.'
            - 'host_address=172.24.'
            - 'host_address=172.25.'
            - 'host_address=172.26.'
            - 'host_address=172.27.'
            - 'host_address=172.28.'
            - 'host_address=172.29.'
            - 'host_address=172.30.'
            - 'host_address=172.31.'
            - 'host_address=192.168.'
            - 'host_address=127.'
            - 'host_address=0.'
    condition: selection and filter
falsepositives:
    - Legitimate internal printer registration (if allowed)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-34229 Blind SSRF in Vasion Print"; flow:to_server,established; content:"POST"; http_method; content:"/var/www/app/console_release/hp/installApp.php"; http_uri; content:"host_address="; http_client_body; pcre:"/host_address=(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.|0\.)/Ri"; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Upgrade to Vasion Print Virtual Appliance version 25.1.102 or later, or Application version 25.1.1413 or later.
  2. Workaround: If patching is not possible, restrict access to the /var/www/app/console_release/hp/installApp.php endpoint via web server ACLs (e.g., .htaccess or Nginx allow/deny).
  3. Network: Implement egress filtering to block outbound HTTP requests from the Vasion appliance to private IP ranges.
  4. Monitoring: Enable logging for all POST requests to installApp.php and alert on suspicious host_address values.
  5. Validation: Ensure any future code changes include input validation and a whitelist of allowed IP ranges.

Valters IT

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