CVE-2020-17405
Executive Summary
CVE-2020-17405 is an unauthenticated deserialization vulnerability in the SSOAuth process of Senstar Symphony 7.3.2.2, a physical security information management (PSIM) platform. A network-adjacent attacker can exploit this flaw to execute arbitrary code with SYSTEM privileges on the underlying host, granting complete control over the security infrastructure. The vulnerability carries a CVSS score of 8.8, indicating critical severity, and currently has no vendor-supplied patch, leaving all deployments of version 7.3.2.2 exposed. Given that Senstar Symphony is typically deployed in critical infrastructure environments (e.g., perimeters, data centers), successful exploitation could allow attackers to disable alarms, manipulate video surveillance, or pivot to adjacent OT/IT networks.
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.
No signup required
Technical Analysis
The vulnerability resides in the SSOAuth process — a Single Sign-On (SSO) authentication component of Senstar Symphony. According to the NVD description, the flaw stems from the "lack of proper validation of user-supplied data, which can result in deserialization of untrusted data." This is a classic insecure deserialization weakness (CWE-502), where the application accepts serialized objects from an untrusted source without performing integrity checks or type filtering.
Attack Mechanism: The SSOAuth process likely binds to a network service (HTTP/SOAP or similar) and parses incoming requests. When a request contains a serialized object (e.g., a Java or .NET binary payload), the process attempts to instantiate or reconstruct that object. Because no validation occurs on the serialized stream, an attacker can craft a malicious payload that, when deserialized, triggers arbitrary code execution via gadget chains (e.g., ysoserial-style payloads for Java or BinaryFormatter streams for .NET).
Attack Surface:
- Network adjacency required: The attacker must be on the same broadcast domain or a directly connected network segment. The vulnerable service is not exposed to the internet by default, but a compromise of adjacent network infrastructure (e.g., a camera or badge reader) could serve as a foothold.
- No authentication required: The SSOAuth process does not enforce authentication before deserialization, making the flaw trivially exploitable once network access is achieved.
- Privilege context: The process runs with SYSTEM-level privileges on the host, so successful exploitation yields immediate, highest-privilege access.
Code-level detail: The NVD description does not specify the programming language or serialization format used. Without public disclosure of the vulnerable function names or endpoints (ZDI-CAN-10980), precise code-level analysis is not possible. However, the vulnerability class is well-understood: deserialization of untrusted data allows an attacker to control object properties, method invocations, or memory layout, ultimately leading to OS-level command execution.
Exploitation Scenarios
No public PoC or exploit code is available for CVE-2020-17405 (POC_STATUS: Private). The following attack chain is inferred from the vulnerability class and the NVD description. The steps assume a deliberate attacker with network-adjacent access.
Reconnaissance / Target Identification
- The attacker performs a network scan to identify hosts running Senstar Symphony 7.3.2.2. This is typically done by fingerprinting open ports associated with the SSOAuth service (often high-numbered TCP ports, e.g., 808X or 8443 for SSL).
- Shodan dorks or network sweepers can identify Symphony instances via service banners, HTTP server headers, or default certificate subjects.
- If the target is on an isolated segment (e.g., a camera VLAN), the attacker might first compromise a less-protected adjacent device.
Triggering the Flaw
- The attacker crafts a serialized payload designed to execute a system command (e.g., spawn a reverse shell). The payload is wrapped in the serialization format expected by SSOAuth (e.g., Java ObjectStream or .NET BinaryFormatter).
- The attacker sends the payload to the SSOAuth service as part of a legitimate-looking authentication request. Because no authentication is required and user-supplied data is not validated, the service accepts the payload and begins deserialization.
Payload / Execution Method
- The deserialization process unwraps the malicious object. A gadget chain (such as CommonsCollections, ysoserial for Java, or TypeConfuseDelegate for .NET) is triggered during object instantiation.
- The gadget chain invokes a method that executes a command, e.g.,
Runtime.exec()on Java orProcess.Start()on .NET, with the privileges of the SYTEM account. - The attacker's command runs on the host, establishing a reverse shell, creating a new user, or installing a persistent implant.
Post-Exploitation Impact
- With SYSTEM privileges, the attacker can access all local resources: configuration files, video archive storage, camera feeds, and database credentials.
- The attacker can disable alarm notifications, modify access control rules, or manipulate recorded footage — a severe risk for physical security operations.
- The compromised host may serve as a pivot point into the broader corporate or OT network, potentially leading to lateral movement toward other critical assets.
Note: No public PoC is available; the above chain is a conceptual representation of how a CWE-502 deserialization flaw in this context would be exploited. The lack of identified function names or endpoints in the disclosure limits the specificity of the description.
Impact Assessment
CVSS Score: 8.8 (High) — The vector (AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) indicates:
- Confidentiality / Integrity / Availability (C/H/I): All are High impact.
- Attack Complexity: Low — no special conditions required.
- Privileges Required: None — the service is unauthenticated.
- User Interaction: None — exploitation is fully automated.
- Scope: Unchanged (S:U) — the impact is confined to the affected component.
Affected Systems: Senstar Symphony 7.3.2.2 specifically. No other versions are listed as affected or patched; this may indicate the vulnerability exists in other 7.3.x builds but was only tested on 7.3.2.2.
Business Impact: Senstar Symphony is a PSIM platform used to unify video surveillance, intrusion detection, and access control. Compromise of this system can lead to:
- Physical security bypass: Attackers can disable alarms or mask intrusion events, facilitating physical breaches.
- Data compromise: Video footage and access logs can be tampered with, destroying forensic evidence.
- Critical infrastructure risk: Deployments in utilities, transportation, or government sites amplify the impact, potentially crossing into safety-of-life domains.
Blast Radius: Given the SYSTEM-level execution, the blast radius is the entire host operating system. Additional impact depends on network segmentation — if the Symphony server has direct access to cameras, door controllers, or the corporate network, the attacker inherits that connectivity.
Exploitation in the Wild: No evidence of active exploitation exists (CISA KEV: NO, EPSS: 0.02045). However, the EPSS percentile (79.3%) indicates that this CVE is in the upper quintile of vulnerability "attractiveness," suggesting a higher probability of future exploitation as threat actors catch up.
Detection Guidance
Sigma Rule
title: Senstar Symphony SSOAuth Unauthenticated Deserialization Attempt
id: 4b3e6a1c-8f2d-4e9a-b7c5-2d9f0a1e3c77
status: experimental
description: Detects network traffic or process behavior indicative of exploitation of CVE-2020-17405 (insecure deserialization in SSOAuth).
references:
- https://nvd.nist.gov/vuln/detail/CVE-2020-17405
tags:
- attack.t1190
- attack.execution
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\ssoservice.exe' # Hypothetical process name for the SSOAuth service
CommandLine|contains|all:
- 'java' # or 'powershell' for .NET-based payloads
- 'cmd'
- '-enc' # Encoded command
condition: selection
falsepositives:
- Legitimate administrative commands on the SSOAuth host
level: high
---
# Alternative network-based Sigma rule
title: Senstar Symphony SSOAuth Suspicious Network Payload
id: 7c9f3b2d-4e8a-4f1b-9c6d-1a0b2e5f8a1e
status: experimental
description: Detects TCP traffic to the SSOAuth service containing serialization stream magic bytes.
logsource:
category: network_connection
product: windows
detection:
selection:
DestinationPort: 8080 # Example SSOAuth port; adjust per environment
Initiated: 'true'
condition: selection
level: medium
YARA Rule
rule Senstar_Symphony_Deserialization_Payload {
meta:
author = "Valtersit Threat Intel"
description = "Detects serialized payloads targeting CVE-2020-17405 (Senstar Symphony SSOAuth deserialization)"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2020-17405"
date = "2025-01-01"
strings:
$java_magic = { AC ED 00 05 } // Java serialization stream magic
$net_magic = { 00 01 00 00 00 FF FF FF FF } // .NET BinaryFormatter header
$sso_ref = "SSOAuth" nocase
$cmd_keyword = "cmd.exe" nocase
$powershell_keyword = "powershell" nocase
$runtime_exec = "Runtime" nocase
condition:
uint16(0) == 0xACED and $java_magic and 2 of them
or uint32(0) == 0x00010000 and $net_magic and 2 of them
}
Suricata IDS Rule
alert tcp any any -> $HOME_NET 8080 (msg:"ET EXPLOIT Senstar Symphony SSOAuth Deserialization Attempt (CVE-2020-17405)"; flow:to_server,established; content:"|ac ed 00 05|"; depth:4; content:"SSOAuth"; nocase; distance:0; content:"Runtime"; nocase; distance:0; classtype:attempted-admin; sid:20250101; rev:1; reference:url,nvd.nist.gov/vuln/detail/CVE-2020-17405; metadata:created_at 2025-01-01, updated_at 2025-01-01;)
Note: Adjust the port (8080) to match the actual SSOAuth service port in your environment. The rule triggers on Java deserialization magic bytes combined with SSOAuth and execution-related keywords.
Elastic Detection
// EQL rule for process execution following network connection to SSOAuth port
sequence by host.name with maxspan=1m
[network where process.name == "ssoservice.exe" and destination.port == 8080 and network.direction == "inbound"]
[process where event.action == "start" and process.parent.name == "ssoservice.exe" and (process.name == "cmd.exe" or process.name == "powershell.exe")]
Splunk SPL Query
index=windows sourcetype=WinEventLog:Security OR sourcetype=XmlWinEventLog
| search Image="C:\\*\\ssoservice.exe" OR ParentImage="C:\\*\\ssoservice.exe"
| where process_name IN ("cmd.exe", "powershell.exe", "wscript.exe") OR CommandLine IN ("*Runtime.exec*", "-enc*")
| table _time, host, user, Image, CommandLine, ParentImage
Alternative network-based query:
index=network sourcetype=cisco:asa OR suricata
| search dest_port=8080 AND signature="ET EXPLOIT Senstar Symphony SSOAuth Deserialization Attempt"
| table _time, src_ip, dest_ip, dest_port, signature
Wazuh OSSEC Rule
<group name="senstar_symphony,">
<rule id="100200" level="12">
<decoded>alert</decoded>
<match>Senstar Symphony SSOAuth Deserialization</match>
<description>CVE-2020-17405: Unauthenticated deserialization attempt detected against Senstar Symphony SSOAuth service.</description>
<group>exploit,</group>
<mitre>
<id>T1190</id>
</mitre>
<options>no_full_log</options>
</rule>
<rule id="100201" level="10">
<if_sid>100200</if_sid>
<match>cmd.exe|powershell</match>
<description>Potential post-exploitation process execution following deserialization attempt.</description>
<group>execution,</group>
</rule>
</group>
Note: The Wazuh rule relies on a log source to ingest Suricata or sysmon output containing the relevant alert strings.
Mitigation & Patch Guidance
Patch Confidence: 0/4 (UNPATCHED) — No patch evidence exists from any tracked source. The vendor (Senstar) has not released a fix for this CVE as of the last update.
Immediate Mitigations (while unpatched):
- Network segmentation: Isolate the Symphony server on a dedicated VLAN with strict firewall rules. Block network-adjacent access from camera networks or untrusted segments. Restrict inbound traffic to the SSOAuth service to only known management workstations.
- Disable the SSOAuth service: If SSO is not actively used, disable or stop the service to remove the attack surface entirely.
- Apply host-level protections: Use an application whitelisting solution (e.g., Windows Defender Application Control) to block execution of
cmd.exe,powershell.exe, and other interpreters from the SSOAuth process. - Egress filtering: Enforce egress firewall rules to block outbound connections from the Symphony host unless explicitly allowed (this disrupts reverse-shell payloads).
- Monitor and alert: Deploy the detection rules above to gain visibility into exploitation attempts.
Patch/Upgrade Steps:
- No official patch exists. Monitor the Senstar customer portal or contact vendor support for an updated version. Until a patched build (e.g., 7.3.2.3 or later) is released, organizations should consider whether the Symphony system can be taken offline or swapped for an alternative PSIM solution in high-risk environments.
Long-Term Hardening:
- Least privilege: Run the SSOAuth service under a least-privilege account instead of SYSTEM, reducing the impact of exploitation.
- Deserialization hardening: If the product allows configuration, request the vendor support deserialization allow-listing or implement a reverse proxy that strips serialized data from requests.
- Vendor engagement: Actively pressure the vendor for a fix and request a CVE-specific advisory. Track this CVE in your vulnerability management tooling and escalate to executive leadership given the lack of remediation options.
- Architecture review: Re-evaluate the need to expose SSOAuth on the network. If SSO is required, place it behind an authenticated reverse proxy that validates requests before forwarding.
- Compensating controls: Deploy a network intrusion prevention system (NIPS) with custom signatures (e.g., the Suricata rule above) inline to block payloads.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2020-17405
- ZDI Advisory (ZDI-CAN-10980): https://www.zerodayinitiative.com/advisories/ (search for ZDI-CAN-10980; public advisory may be gated)
- Senstar Official Site: https://www.senstar.com — for vendor contact and product lifecycle updates.
- CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2020-17405 is NOT listed; monitor for future inclusion if exploitation is discovered.
- CWE-502 Reference: https://cwe.mitre.org/data/definitions/502.html — for the underlying weakness class (Deserialization of Untrusted Data).
Threat Actor Campaigns: No known threat actor campaigns have publicly adopted CVE-2020-17405. Exploitation likelihood remains elevated due to the unpatched status and high-impact privilege level. Security teams should treat any exposure as critical and assume attackers with network-adjacent access are aware of this flaw.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.