☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Yealink logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 2.2 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N 🐛 CWE-307
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-52916

CVE-2025-52916 Security Advisory in Yealink
📅 PUBLISHED: 2025-06-21 00:00 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the 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.18%
👁️
0.18% probability
4.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1110
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: China License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 2.2
AV: N Attack Vector Network
AC: H Attack Complexity High
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
2.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-52916 identifies a security weakness in the Yealink RPS (Redirection and Provisioning Service) prior to the 2025-06-04 update. The vulnerability stems from a lack of Server Number (SN) verification attempt limits, allowing an unauthenticated, remote attacker to perform brute-force enumeration of the last five digits of device serial numbers. This low-severity issue (CVSS 2.2) could enable an attacker to map valid device identities, potentially leading to targeted attacks or service disruption. No public proof-of-concept (PoC) or exploit code is available at this time, and the patch status remains unknown.

⚡ 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: 2.2 (Low)
  • Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: High (requires knowledge of the first part of the SN or other enumeration techniques)
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (partial disclosure of valid SNs)
  • Integrity Impact: None
  • Availability Impact: None

The low score reflects the limited impact (only partial disclosure of device identifiers) and the high attack complexity. However, in a targeted attack, this enumeration could be a stepping stone for further exploitation.

Deep Dive & Mechanics

The Yealink RPS is a cloud-based service used to redirect and provision Yealink devices (e.g., IP phones). Each device has a unique serial number (SN) that is used for authentication and provisioning. The vulnerability lies in the SN verification endpoint, which does not implement rate limiting or attempt throttling.

An attacker can send repeated requests to the RPS API, guessing the last five digits of a device SN. Since the first part of the SN is often predictable (e.g., based on model or batch), the effective search space is only 100,000 possibilities. Without rate limiting, an attacker can enumerate valid SNs in a reasonable timeframe.

Attack Flow:

  1. Attacker identifies the RPS endpoint for SN verification (e.g., https://rps.yealink.com/api/verify).
  2. Attacker crafts requests with a base SN prefix (e.g., YEA12345XXXXX) and iterates through the last five digits.
  3. The server responds differently for valid vs. invalid SNs (e.g., HTTP 200 vs. 404, or a specific JSON response).
  4. Attacker collects valid SNs for further attacks (e.g., device takeover, provisioning manipulation).

Vulnerable vs. Patched Code

No specific code diff is available. The vulnerability is a missing rate-limiting mechanism. A patched version would likely include:

  • Vulnerable: No attempt limits on the SN verification endpoint.
  • Patched: Implementation of rate limiting (e.g., max 5 attempts per IP per minute) or CAPTCHA after a threshold.

Exploitation & Lab Setup

Red Team

Lab Setup:

  • Target: Yealink RPS instance (e.g., https://rps.yealink.com)
  • Tool: Custom Python script or Burp Suite Intruder

Exploitation Steps:

  1. Identify the SN verification endpoint (e.g., via API documentation or reverse engineering).
  2. Use a script to iterate through possible last-five-digit combinations.
  3. Monitor response codes or messages to identify valid SNs.

Example Python Script (Conceptual):

import requests

base_sn = "YEA12345"  # Example prefix
url = "https://rps.yealink.com/api/verify"

for i in range(100000):
    sn = f"{base_sn}{i:05d}"
    response = requests.post(url, json={"sn": sn})
    if response.status_code == 200:
        print(f"Valid SN found: {sn}")

Note: This is a conceptual example. Actual implementation may require specific headers or payloads.

Blue Team

Detection:

  • Monitor for high volumes of requests to the SN verification endpoint from a single IP.
  • Look for sequential or patterned SN values in logs.
  • Alert on repeated 404/400 responses followed by a 200.

Mitigation:

  • Implement rate limiting on the RPS API.
  • Use CAPTCHA or IP reputation checks.
  • Monitor for brute-force patterns and block offending IPs.

Indicators of Compromise (IOCs)

  • Network:
    • High frequency of requests to https://rps.yealink.com/api/verify (or similar endpoint).
    • Sequential SN values in request payloads.
  • Logs:
    • Multiple failed SN verification attempts from a single IP.
    • Sudden spike in 404/400 errors followed by a 200 success.
  • System:
    • Unusual provisioning requests from unknown devices.

Detection Engineering

YARA Rule

rule CVE_2025_52916_Yealink_RPS_BruteForce {
    meta:
        description = "Detects brute-force attempts against Yealink RPS SN verification"
        author = "Valters IT"
        date = "2025-06-04"
        reference = "CVE-2025-52916"
    strings:
        $s1 = "/api/verify" ascii wide nocase
        $s2 = "sn" ascii wide nocase
        $s3 = "YEA" ascii wide nocase  // Example prefix, adjust as needed
    condition:
        all of ($s*) and #s1 > 10
}

Sigma Rule

title: Yealink RPS Brute-Force Enumeration
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects multiple SN verification attempts to Yealink RPS
author: Valters IT
date: 2025-06-04
logsource:
    category: web
    product: generic
detection:
    selection:
        cs-uri-query|contains: "/api/verify"
        cs-method: "POST"
    condition: selection | count() by src_ip > 100 within 1m
falsepositives:
    - Legitimate provisioning of many devices
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-52916 Yealink RPS Brute-Force Attempt"; flow:to_server; content:"POST"; http_method; content:"/api/verify"; http_uri; content:"sn"; http_client_body; threshold: type both, track by_src, count 50, seconds 60; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Apply the vendor patch if available. If not, implement rate limiting on the SN verification endpoint.
  • Workaround: Restrict access to the RPS API to trusted IPs only.
  • Long-term: Implement CAPTCHA or multi-factor authentication for device provisioning.
  • Monitoring: Enable logging and alerting for brute-force patterns.

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

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.

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