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

CVE-2025-32976

CVE-2025-32976 Authentication Bypass in Quest
📅 PUBLISHED: 2025-06-24 00:00 UTC 🔄 UPDATED: 2026-08-18 17:15 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.80%
👁️
0.80% probability
20.1× 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-32976 is a critical authentication bypass vulnerability in Quest KACE Systems Management Appliance (SMA). The flaw resides in the two-factor authentication (2FA) validation logic, specifically in the TOTP-based 2FA implementation. An authenticated user who has already passed the initial password-based login can bypass the second factor (TOTP) entirely, gaining elevated access without providing a valid one-time code. This effectively nullifies the security benefit of 2FA for affected users.

The vulnerability affects all supported versions of Quest KACE SMA prior to the specified patches. The CVSS score is 9.9 (Critical) due to the low attack complexity, low privileges required, and the high impact on confidentiality, integrity, and availability. No public proof-of-concept or exploit code is currently available, but the vulnerability is trivially exploitable by any authenticated user.

⚡ 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 software supply chain issue. It is a logic flaw in the proprietary Quest KACE SMA codebase. No third-party packages or dependencies are implicated.

CVSS Breakdown & Threat Level

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

Metric Value Rationale
Attack Vector (AV) Network (N) The vulnerability is exploitable over the network via the SMA web interface.
Attack Complexity (AC) Low (L) No special conditions or race conditions are required; the bypass is straightforward.
Privileges Required (PR) Low (L) An attacker needs only a valid username/password (lowest privilege level).
User Interaction (UI) None (N) No user interaction is required beyond the attacker's own actions.
Scope (S) Unchanged (U) The vulnerable component and the impacted component are the same.
Confidentiality (C) High (H) Full access to all SMA data, including system configurations and managed endpoints.
Integrity (I) High (H) Ability to modify system settings, deploy software, and alter configurations.
Availability (A) High (H) Potential to disrupt SMA services or managed endpoints.

Threat Level: Critical. An authenticated attacker can completely compromise the SMA appliance and all managed systems.

Deep Dive & Mechanics

The vulnerability is a logic flaw in the 2FA validation process. When a user authenticates with a password, the system initiates a 2FA challenge. The flawed logic occurs in the server-side validation of the TOTP token. Instead of strictly requiring a valid TOTP code, the system may accept a null, empty, or previously used token under certain conditions, or it may skip the 2FA check entirely if a specific parameter is manipulated.

Root Cause: The server-side code does not properly enforce that a valid TOTP token was actually verified. The validation function may return a success status if the token parameter is missing, empty, or if the session state indicates that 2FA was already completed (due to a race condition or improper state management).

Attack Flow:

  1. Attacker obtains valid credentials (e.g., via phishing, credential stuffing, or insider threat).
  2. Attacker logs in with username and password.
  3. The SMA presents the 2FA challenge page.
  4. Attacker either submits an empty TOTP field, a null value, or manipulates the HTTP request to skip the 2FA step.
  5. The server incorrectly validates the request and grants a fully authenticated session.

Affected Component: The 2FA validation module within the SMA web application (likely a PHP or Java servlet handling authentication).

Vulnerable vs. Patched Code

The exact code is proprietary, but the logic flaw can be described conceptually.

Vulnerable Code (Pseudocode):

def validate_2fa(session, totp_token):
    if '2fa_completed' in session:
        return True  # BUG: Allows bypass if session flag is set incorrectly
    if totp_token is None or totp_token == '':
        return True  # BUG: Accepts empty token
    expected = get_totp_for_user(session['user'])
    if totp_token == expected:
        session['2fa_completed'] = True
        return True
    return False

Patched Code (Pseudocode):

def validate_2fa(session, totp_token):
    # Always require a valid token, never trust session flag alone
    if totp_token is None or totp_token == '':
        return False
    expected = get_totp_for_user(session['user'])
    if totp_token == expected:
        session['2fa_completed'] = True
        return True
    return False

The patch removes the early return that checked a session flag and adds a strict check for empty/null tokens.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • Valid credentials for a user with 2FA enabled.
  • Network access to the SMA web interface.

Exploitation Steps:

  1. Intercept the login request after password authentication using a proxy (e.g., Burp Suite).
  2. Observe the 2FA challenge request/response.
  3. Modify the request to omit the totp_token parameter or set it to an empty string.
  4. Forward the modified request.
  5. If successful, the server returns a session cookie granting full access.

Example cURL command:

# Step 1: Login with password (capture session cookie)
curl -c cookies.txt -b cookies.txt -X POST https://sma.example.com/login \
  -d "username=admin&password=secret"

# Step 2: Attempt 2FA bypass by sending empty TOTP
curl -c cookies.txt -b cookies.txt -X POST https://sma.example.com/2fa/verify \
  -d "totp_token="

Expected Outcome: The server returns a 200 OK with a valid session, bypassing 2FA.

Blue Team (Defensive)

Detection:

  • Monitor for login attempts where the 2FA step is completed with an empty or null token.
  • Alert on multiple failed 2FA attempts followed by a successful login with no token.
  • Review web server logs for requests to /2fa/verify with missing or empty totp_token parameter.

Hunting Query (Splunk):

index=web_logs source="/var/log/httpd/access_log"
| search "/2fa/verify" AND (totp_token= OR totp_token=null)
| stats count by src_ip, user, _time
| where count > 1

Mitigation Steps:

  • Immediately apply the vendor patch.
  • If patching is delayed, disable 2FA temporarily and enforce strong password policies.
  • Monitor for anomalous authentication patterns.

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP requests to /2fa/verify with missing or empty totp_token parameter.
  • Successful login events without a corresponding 2FA verification event in logs.

Host IOCs:

  • Web server logs showing POST /2fa/verify with totp_token= (empty) or totp_token=null.
  • Authentication logs showing 2FA_BYPASS or similar error codes (if logging is enabled).

Log Examples:

192.168.1.100 - - [01/Jan/2025:12:00:00 +0000] "POST /2fa/verify HTTP/1.1" 200 1234 "-" "Mozilla/5.0"

If the request body contains totp_token= (empty), this is suspicious.

Detection Engineering

YARA Rule

rule CVE_2025_32976_2FA_Bypass {
    meta:
        description = "Detects attempts to bypass TOTP 2FA in Quest KACE SMA"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-32976"
        hash = "d41d8cd98f00b204e9800998ecf8427e"
    strings:
        $s1 = "totp_token=" ascii wide nocase
        $s2 = "totp_token=null" ascii wide nocase
        $s3 = "/2fa/verify" ascii wide nocase
    condition:
        all of ($s1, $s3) or all of ($s2, $s3)
}

Sigma Rule

title: CVE-2025-32976 - Quest KACE SMA 2FA Bypass Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests to /2fa/verify with empty or null totp_token parameter
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-32976
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/2fa/verify'
        cs-uri-query|contains: 
            - 'totp_token='
            - 'totp_token=null'
    condition: selection
falsepositives:
    - Legitimate users with empty TOTP tokens (unlikely)
level: high
tags:
    - attack.initial_access
    - attack.t1078

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-32976 Quest KACE SMA 2FA Bypass Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/2fa/verify"; http_uri;
    content:"totp_token="; http_client_body;
    pcre:"/totp_token=(|null)/";
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
    reference:cve,2025-32976;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Upgrade to the following patched versions:
    • SMA 13.0.385
    • SMA 13.1.81
    • SMA 13.2.183
    • SMA 14.0.341 (Patch 5)
    • SMA 14.1.101 (Patch 4)
  2. Workaround: If patching is not immediately possible, disable TOTP-based 2FA and rely on strong password policies and network segmentation.
  3. Monitor: Enable detailed logging for all authentication events and review logs for signs of exploitation.

Long-Term Measures:

  • Implement additional security controls such as IP whitelisting for SMA access.
  • Use a Web Application Firewall (WAF) to block requests with missing or empty TOTP tokens.
  • Conduct a security audit of all authentication flows.

Vendor Contact: Quest Software support (https://support.quest.com).


Valters IT

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