CVE-2023-31190
Executive Summary
CVE-2023-31190 describes a critical improper authentication vulnerability in the firmware update mechanism of the DroneScout ds230 Remote ID receiver manufactured by BlueMark Innovations. The device fails to validate the TLS certificate of the HTTPS endpoint from which firmware update packages (.tar.bz2 files) are downloaded, permitting a Man-in-the-Middle (MitM) attacker to deliver a malicious firmware image that grants root privileges on the underlying Linux operating system. All firmware versions from 20211210-1627 through 20230329-1042 are affected, and no patch is currently available. Given the device's role in drone detection for airspace security, successful exploitation could allow an attacker to silently compromise surveillance infrastructure, manipulate detection data, or use the device as a foothold for lateral movement.
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 firmware update procedure of the DroneScout ds230. During a firmware update, the device downloads a .tar.bz2 archive from an HTTPS endpoint. The critical flaw is that the update process does not validate the TLS certificate presented by the endpoint. This means the device accepts any certificate — including self-signed certificates or certificates from untrusted Certificate Authorities — as valid.
Without certificate validation, the device cannot authenticate the server it is communicating with. The HTTPS connection provides only transport-level encryption, but the absence of certificate chain verification allows an attacker to intercept and terminate the legitimate TLS session, then establish a new TLS session with the device using an attacker-controlled certificate. The device's firmware update logic trusts the connection implicitly because the TLS handshake completes "successfully" from a cryptographic standpoint.
The attack surface is the network path between the DroneScout ds230 and the legitimate firmware distribution endpoint. The following preconditions are required for exploitation:
- The attacker must be able to intercept or redirect the device's network traffic (e.g., DNS poisoning, ARP spoofing, or controlling an intermediate network node).
- The device must be triggered to perform a firmware update, either through an administrator-initiated action or an automated update check.
- The attacker must host a malicious firmware package at the intercepted location, structured as a
.tar.bz2archive containing arbitrary files.
The firmware archive's contents are installed with elevated privileges. Because the archive can contain arbitrary executable files and configuration data, the attacker can plant files that execute during the update process or on subsequent boot cycles. The NVD description confirms the attacker can gain administrative (root) privileges on the underlying Linux operating system.
The vulnerability class is CWE-295 (Improper Certificate Validation), falling under the broader category of improper authentication (CWE-287). The root cause is the firmware update client's failure to perform standard X.509 certificate chain validation, which is a fundamental security control for any TLS client.
Exploitation Scenarios
Step 1 — Target Reconnaissance and Network Position: An attacker must first identify a DroneScout ds230 device on the network. This could be accomplished through network scanning for the device's management interface, service discovery protocols, or by targeting known airport/security infrastructure IP ranges. The attacker must then achieve a MitM position using techniques such as ARP spoofing on the local network segment, DNS cache poisoning, or gaining control of a routing node between the device and the internet.
Step 2 — Triggering the Firmware Update: The attacker either waits for an administrator to manually initiate a firmware update or for the device to perform a scheduled update check. In either case, the device resolves the firmware endpoint hostname and initiates an HTTPS connection. Due to the compromised DNS or network position, this connection is directed to the attacker-controlled server.
Step 3 — Serving the Malicious Payload: The attacker's server presents a TLS certificate that the DroneScout ds230 accepts without validation. The attacker serves a crafted .tar.bz2 archive that mimics the legitimate firmware package structure. Because the NVD description explicitly states the archive can contain "arbitrary files (e.g., executable and configuration)," the attacker can bundle custom executables designed to run on the device's Linux operating system, along with configuration files to maintain persistence or disable security features.
Step 4 — Post-Exploitation: Upon successful installation, the attacker achieves root privileges on the underlying Linux OS. This enables a wide range of malicious activities: modifying the device's drone-detection logic to produce false positives/negatives, exfiltrating detection data to external servers, installing persistent backdoors, repurposing the device for network reconnaissance, or using the compromised device as a pivot point to attack other infrastructure on the same network segment.
Inference Note: No public PoC is available, and the attack chain is inferred from the vulnerability class and NVD description. The absence of certificate validation is explicitly documented; the specific exploitation tools, code patterns, or payload structure beyond the .tar.bz2 format are not described in public sources.
Impact Assessment
The CVSS score for this vulnerability is 8.1 (High), reflecting a serious risk profile. The vector characteristics indicate:
- Network attack vector — the vulnerability is exploitable remotely over the network.
- High attack complexity — the attacker must achieve a MitM position, which requires additional steps such as ARP or DNS poisoning.
- No privileges required — the attack can be executed without prior authentication.
- High confidentiality and integrity impact — the attacker can read and alter any data accessible to the root user.
- High availability impact — compromised firmware could disable the device or cause persistent denial of service.
- No user interaction required — the attack succeeds without user involvement beyond the normal firmware update trigger.
The business impact is concentrated in the physical security and drone-detection sector. The DroneScout ds230 is a Remote ID receiver used to detect and identify drones in protected airspace. A compromised receiver can be silently turned into a tool for enabling drone incursions: false negatives on detection, suppression of legitimate alerts, or providing detailed target data on security posture. For organizations operating these devices — including airports, critical infrastructure facilities, and government installations — this represents a direct threat to physical security operations.
Blast radius assessment: Each compromised device provides root access to the underlying Linux OS. Since these devices typically operate on security infrastructure segments or management VLANs, the blast radius may extend beyond the device itself to adjacent network resources. No evidence of mass exploitation exists; EPSS places the probability of exploitation at 0.00361 (28.9% percentile), suggesting low but non-zero real-world exploitation pressure. The device is not listed in CISA's Known Exploited Vulnerabilities catalog.
Detection Guidance
Detection strategies should focus on both network-level anomalies (unexpected TLS certificates, suspicious update traffic) and host-level indicators (unexpected file changes, unauthorized processes).
Sigma Rule
title: Suspicious TLS Certificate During Firmware Update - DroneScout ds230
id: 5e7f9c8d-1b2a-4e6c-9f3d-8a2b1c4d5e6f
status: experimental
description: Detects TLS handshakes from DroneScout ds230 devices to known firmware update endpoints presenting self-signed or untrusted certificates
author: Valtersit Threat Intelligence
logsource:
product: network
category: tls
detection:
selection:
ja3.hash:
- "UNKNOWN_DRONESCOUT_JA3" # Replace with known device fingerprint
cisco.umbrella.destination.domain:
- "*firmware*"
- "*update*"
condition: selection
filter_known:
ssl.certificate.issuer:
- "CN=BlueMark Innovations"
condition: selection and not filter_known
falsepositives:
- Legitimate update servers with renewed certificates
- Internal corporate CAs not in the device trust store
level: high
tags:
- attack.t1190
- cve.2023-31190
YARA Rule
rule DroneScout_Firmware_Update_Tamper
{
meta:
author = "Valtersit Threat Intelligence"
description = "Detects unusual firmware packages targeting DroneScout ds230 devices"
cve = "CVE-2023-31190"
date = "2025-01-01"
severity = "high"
strings:
$fs_magic = { 42 5A 68 39 31 41 59 26 53 59 } // BZh91AY&SY (bzip2 magic)
$update_sig = "firmware" ascii wide
$drone_string = "DroneScout" ascii wide
$root_marker = "root:" ascii wide
$susp_exec = ".sh" ascii wide
$susp_startup = "rc.local" ascii wide
$susp_cron = "crontab" ascii wide
condition:
uint32(0) == 0x5A684231 or // bzip2 magic at start
($fs_magic at 0 and 2 of ($susp_*)) or
($update_sig and $drone_string and 2 of ($susp_exec, $susp_startup, $susp_cron)) or
($update_sig and $drone_string and $root_marker)
}
Suricata IDS Rule
alert tls any any -> any any (msg:"CVE-2023-31190 DroneScout ds230 TLS Certificate Validation Bypass - Self-Signed Cert to Firmware Update Host"; flow:to_server; tls.cert_subject:"CN=[^,]*"; tls.cert_issuer:"CN=[^,]*"; tls.cert_issuer:!".*BlueMark.*"; content:"|16 03|"; sid:2023311901; rev:1; metadata:attack_tactic TA0011, cve CVE-2023-31190, mitre_tactic_id T1190; reference:url,nvd.nist.gov/vuln/detail/CVE-2023-31190;)
alert http any any -> any any (msg:"CVE-2023-31190 DroneScout ds230 - Firmware Download to Suspicious Destination"; flow:to_server; content:".tar.bz2"; http.uri; pcre:"/^(?!.*(firmware\.bluemark|drone\.blue|update\.bluem)).*$/i"; sid:2023311902; rev:1; metadata:attack_tactic TA0011, cve CVE-2023-31190; reference:url,nvd.nist.gov/vuln/detail/CVE-2023-31190;)
Elastic Detection
// Detect TLS connections from DroneScout devices with untrusted certificates
sequence by host.id
[ network where event.type == "start" and
network.protocol == "tls" and
destination.domain in ("firmware.bluemark.example", "update.bluemark.example") ]
[ network where
tls.client.subject == "*DroneScout*" and
(not tls.server.issuer == "*BlueMark*" or tls.server.x509.not_after == "") ]
Splunk SPL Query
index=* sourcetype=cisco:asa OR sourcetype=pan:traffic
| regex _raw="(firmware|update).*\.tar\.bz2"
| eval tls_alert=if(match(_raw, "(certificate|SSL|TLS).*(error|invalid|untrusted|self.signed|expired)"), "TRUE", "FALSE")
| eval dest_is_firmware_server=if(match(dest, "(firmware|update|blue|drone)"), "TRUE", "FALSE")
| where tls_alert=="TRUE" OR (dest_is_firmware_server=="TRUE" AND NOT match(src, "10\.0\.0\.0/8"))
| table _time, src, dest, dest_port, url, tls_alert, user
| sort -_time
Wazuh OSSEC Rule
<group name="bluemark,drone,vulnerability,">
<rule id="842877" level="12">
<decoded_as>json</decoded_as>
<field name="event.module">network</field>
<field name="event.dataset">tls</field>
<field name="tls.established">true</field>
<field name="tls.client.ja3">UNKNOWN_DRONESCOUT_JA3</field>
<field name="tls.server.certificate.issuer">!~BlueMark</field>
<description>Potential CVE-2023-31190 exploitation: DroneScout ds230 connecting to untrusted TLS endpoint during firmware update</description>
<group>security</group>
<mitre>
<id>T1190</id>
</mitre>
<options>no_full_log</options>
</rule>
<rule id="842878" level="10">
<decoded_as>json</decoded_as>
<field name="event.module">auditd</field>
<field name="auditd.type">EXECVE</field>
<field name="auditd.args">~\.*rc\.local|crond|cron\.d|systemd.*\.service</field>
<description>Possible post-exploitation persistence after CVE-2023-31190 compromise</description>
<group>security</group>
<options>no_full_log</options>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 — UNPATCHED. No patch evidence exists from any tracked source. All firmware versions from 20211210-1627 through 20230329-1042 are affected. Organizations should assume that no fix will be available in the near term unless BlueMark Innovations issues a security advisory.
Immediate Mitigations (until a patch is available)
- Network Segmentation: Isolate DroneScout ds230 devices on a dedicated management VLAN with strict egress controls. Block direct internet access from the devices if possible; route firmware updates through a controlled proxy or jump host.
- Disable Automatic Updates: If the device supports disabling automatic firmware update checks, do so immediately. Require manual, operator-verified updates only.
- Domain Filtering / DNS Control: Implement DNS filtering at the network level to ensure firmware update requests resolve only to known-good IP addresses for the legitimate update server. Monitor DNS logs for anomalies.
- Network Monitoring: Deploy the detection rules above (Sigma, Suricata, Splunk, etc.) to monitor for anomalous TLS connections originating from the DroneScout devices.
- Egress Traffic Inspection: Use TLS inspection (decryption) on the network level to validate that traffic from the ds230 to firmware endpoints uses expected certificates.
Patch/Upgrade Steps
- Continuously monitor BlueMark Innovations' security advisories and the vendor's official update distribution channels.
- When a patched firmware version is released, verify the firmware's cryptographic signature (if vendor provides verification tools) before deployment.
- Apply the update during a planned maintenance window, with rollback contingency in place.
- After patching, verify the device accepts only valid TLS certificates during subsequent updates.
Long-Term Hardening
- Request vendor remediation: Engage BlueMark Innovations to implement proper TLS certificate validation in the firmware update client. If the vendor cannot commit to a timeline, consider replacing the affected devices with alternatives that have secure update mechanisms.
- Supply chain security: Validate the integrity of all future firmware packages independently of the update mechanism — e.g., by verifying SHA-256 checksums published on a trusted channel separate from the update server.
- Zero-trust architecture: Treat the DroneScout ds230 as untrusted network equipment. Minimize the trust placed in the device's reporting and implement independent verification of drone detection data.
- Periodic device audits: Regularly inspect the device's filesystem for unauthorized modifications, and verify the running firmware hash against known-good values.
References
- NVD Entry for CVE-2023-31190: https://nvd.nist.gov/vuln/detail/CVE-2023-31190 — Official CVE record with the NVD description, CVSS base score of 8.1, and affected version ranges.
- CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — Confirmed NOT listed; device has no known exploitation in the wild.
- MITRE ATT&CK T1190 — Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/ — Technique mapping for the network-exposed attack surface exploited by this vulnerability.
- CWE-295 — Improper Certificate Validation: https://cwe.mitre.org/data/definitions/295.html — Root cause class for the TLS certificate validation failure.
Threat Actor Activity Notes: There is no documented threat actor campaign, exploit-in-the-wild evidence, or public PoC for CVE-2023-31190 as of the writing of this report. EPSS score of 0.00361 suggests limited exploitation interest. However, the vulnerability is trivially exploitable by any attacker capable of performing network interception — the lack of public exploitation activity may reflect the limited deployment footprint of this device rather than any inherent difficulty in exploitation. Monitoring should remain active given the criticality of the affected infrastructure.
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.