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

CVE-2025-32978

CVE-2025-32978 Denial of Service in Quest
📅 PUBLISHED: 2025-06-24 00:00 UTC 🔄 UPDATED: 2026-08-18 17:14 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.91%
👁️
0.91% probability
22.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: United States License: Commercial
VULNERABLE: UNKNOWN / CHECK VENDOR
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-32978 is a critical vulnerability in Quest KACE Systems Management Appliance (SMA) that allows an unauthenticated attacker to replace valid system licenses with expired or trial licenses via a web interface intended for license renewal. This results in a denial of service (DoS) as the appliance may cease to function properly without a valid license. The vulnerability affects multiple versions of the SMA, and no public exploit code or proof-of-concept is currently available. The CVSS score is 0.0 due to incomplete NVD data, but based on the description, the impact is high for availability.

⚡ 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 an open-source package manager (NPM, PyPI, Go, Ruby). It is a proprietary appliance vulnerability. No supply chain compromise is indicated.

CVSS Breakdown & Threat Level

The provided CVSS score is 0.0, which is likely a placeholder. Based on the description, a more accurate assessment is:

  • Attack Vector (AV): Network (N) – The attack is performed over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): None (N) – No authentication is needed.
  • User Interaction (UI): None (N) – No user action is required.
  • Scope (S): Unchanged (U) – The vulnerability does not affect other components.
  • Confidentiality (C): None (N) – No data is exposed.
  • Integrity (I): None (N) – No data is modified.
  • Availability (A): High (H) – The appliance becomes unavailable.

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Base Score: 7.5 (High)

Threat Level: High. The attack is trivial (unauthenticated, network-based) and directly impacts availability.

Deep Dive & Mechanics

The vulnerability resides in the license renewal web interface of the KACE SMA. This interface is intended to allow administrators to upload new license files. However, due to missing authentication checks (CWE-862: Missing Authorization), any unauthenticated user can access this endpoint and submit a license file.

The appliance likely validates the license file format but does not verify the authenticity or validity of the license itself before applying it. An attacker can craft or obtain an expired or trial license file and upload it, replacing the current valid license. Once the invalid license is applied, the appliance may enter a degraded state, refuse to start services, or shut down, causing a denial of service.

The attack flow:

  1. Attacker identifies a vulnerable KACE SMA instance.
  2. Attacker sends a POST request to the license renewal endpoint (e.g., /admin/license/renew) with a malicious license file.
  3. The appliance accepts the file without authentication and applies it.
  4. The appliance detects the license is invalid/expired and enters a DoS state.

Vulnerable vs. Patched Code

No specific code snippets are available. However, the fix likely involves:

  • Adding authentication checks to the license renewal endpoint.
  • Validating the license file's digital signature or authenticity before applying it.
  • Restricting access to the endpoint to only authenticated administrators.

Vulnerable Code (Conceptual):

@app.route('/admin/license/renew', methods=['POST'])
def renew_license():
    license_file = request.files['license']
    # No authentication check
    apply_license(license_file)
    return "License updated"

Patched Code (Conceptual):

@app.route('/admin/license/renew', methods=['POST'])
@login_required
def renew_license():
    license_file = request.files['license']
    if not verify_license_signature(license_file):
        return "Invalid license", 400
    apply_license(license_file)
    return "License updated"

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to a vulnerable KACE SMA instance (versions listed above).
  • An expired or trial license file for KACE SMA (can be obtained from a previous installation or trial period).

Exploitation Steps:

  1. Identify the license renewal endpoint. Common paths include /admin/license/renew, /license/upload, or /api/license.
  2. Prepare a malicious license file (e.g., malicious.lic).
  3. Send a POST request using curl:
    curl -X POST -F "license=@malicious.lic" http://target/admin/license/renew
    
  4. Verify the DoS by checking if the appliance services are down or if the license status shows as invalid.

Note: No public exploit code is available. This is a conceptual demonstration.

Blue Team

Detection:

  • Monitor for unauthenticated POST requests to license-related endpoints.
  • Alert on any changes to the license file or status.
  • Monitor for sudden service outages or license expiration events.

Hunting:

  • Search logs for requests to /admin/license/renew from IPs not in the admin whitelist.
  • Check for license files uploaded outside of normal business hours.

Prevention:

  • Ensure the appliance is patched to the latest version.
  • Implement network segmentation to restrict access to the management interface.
  • Use a WAF to block unauthenticated access to sensitive endpoints.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /admin/license/renew or similar endpoints from unknown IPs.
    • Unusual license file uploads (e.g., file size, name).
  • System:
    • License status showing "Expired" or "Trial" unexpectedly.
    • Appliance services stopping or failing to start.
    • Log entries indicating license renewal without authentication.
  • File:
    • Presence of unexpected license files in the appliance's license directory.

Detection Engineering

YARA Rule

rule CVE_2025_32978_KACE_License_DoS {
    meta:
        description = "Detects malicious license files used in CVE-2025-32978"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-32978"
    strings:
        $license_header = "KACE_LICENSE" ascii wide nocase
        $expired = "EXPIRED" ascii wide nocase
        $trial = "TRIAL" ascii wide nocase
    condition:
        $license_header and ($expired or $trial)
}

Sigma Rule

title: Unauthenticated License Upload Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects unauthenticated POST requests to KACE SMA license renewal endpoint
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/admin/license/renew'
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate admin actions (should be authenticated)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (msg:"CVE-2025-32978 KACE SMA License DoS Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/admin/license/renew"; http_uri; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade the KACE SMA to the patched version:
    • 13.0.x to 13.0.385
    • 13.1.x to 13.1.81
    • 13.2.x to 13.2.183
    • 14.0.x to 14.0.341 (Patch 5)
    • 14.1.x to 14.1.101 (Patch 4)
  2. If patching is not immediately possible, restrict network access to the management interface using firewall rules.
  3. Implement a Web Application Firewall (WAF) rule to block unauthenticated POST requests to the license renewal endpoint.

Long-term Measures:

  • Enforce multi-factor authentication for all administrative interfaces.
  • Regularly audit license files and status.
  • Monitor for unusual license-related events.

Workaround:

  • Disable the license renewal web interface if not needed, or restrict it to specific IP addresses.

Valters IT

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