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

CVE-2025-52917

CVE-2025-52917 Information Disclosure in Yealink
📅 PUBLISHED: 2025-06-21 00:00 UTC 🔄 UPDATED: 2026-08-13 10:06 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1589
👁️
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 4.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
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
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-52917 identifies a missing rate limiting vulnerability in the Yealink RPS (Redirection and Provisioning Service) API prior to the 2025-05-26 release. The absence of request throttling allows an unauthenticated attacker to perform excessive API calls, potentially leading to information disclosure. This vulnerability is classified as low severity (CVSS 4.3) due to the lack of direct data exposure but poses a risk for reconnaissance and enumeration attacks against Yealink device provisioning infrastructure.

⚡ 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 any open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary API service provided by Yealink for device provisioning.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – Impact confined to the vulnerable component.
  • Confidentiality (C): Low (L) – Limited information disclosure possible.
  • Integrity (I): None (N) – No data modification.
  • Availability (A): None (N) – No denial of service.

Threat Level: Low. The vulnerability primarily enables reconnaissance and enumeration, not direct data theft or system compromise.

Deep Dive & Mechanics

The Yealink RPS API is used for device provisioning and redirection. The vulnerability stems from the lack of rate limiting on API endpoints. An attacker can send a high volume of requests to enumerate valid device identifiers, provisioning URLs, or other metadata. This can lead to:

  • Device Enumeration: Identifying active Yealink devices on the network.
  • Provisioning Data Leakage: Potentially exposing configuration URLs or server endpoints.
  • Reconnaissance: Gathering information for further attacks.

The API likely uses simple HTTP GET/POST requests without authentication for certain endpoints. Without rate limiting, an attacker can script automated queries to extract data.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

# No rate limiting applied
@app.route('/api/device/<device_id>')
def get_device_info(device_id):
    # Process request without checking request frequency
    return jsonify(device_info)

Patched Code (Conceptual):

from flask_limiter import Limiter

limiter = Limiter(app, key_func=lambda: request.remote_addr)

@app.route('/api/device/<device_id>')
@limiter.limit("10 per minute")
def get_device_info(device_id):
    # Rate limited to 10 requests per minute per IP
    return jsonify(device_info)

The patch introduces rate limiting middleware to restrict the number of requests from a single IP address within a time window.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy a test instance of Yealink RPS API (pre-2025-05-26 version).
  2. Use a tool like curl or python to send repeated requests.

Exploitation Steps:

# Enumerate device IDs using a simple loop
for i in {1..1000}; do
  curl -s "http://target-rps/api/device/$i" -o /dev/null -w "%{http_code}\n"
done

Automated Enumeration Script:

import requests

target = "http://target-rps/api/device/"
for device_id in range(1, 1001):
    response = requests.get(f"{target}{device_id}")
    if response.status_code == 200:
        print(f"Device {device_id} found: {response.text}")

Blue Team

Detection:

  • Monitor for high volumes of requests to /api/device/ or similar endpoints from a single IP.
  • Alert on request rates exceeding 100 requests per minute from a single source.

Mitigation:

  • Implement rate limiting at the API gateway or application level.
  • Use Web Application Firewall (WAF) rules to block excessive requests.

Indicators of Compromise (IOCs)

  • Network Traffic: High frequency of HTTP requests to /api/device/ or /api/provisioning/ endpoints.
  • Source IPs: Multiple requests from the same IP address in a short time window.
  • Response Patterns: 200 OK responses for sequential device IDs.

Detection Engineering

YARA Rule

rule yealink_rps_enumeration {
    meta:
        description = "Detects enumeration attempts against Yealink RPS API"
        author = "Valters IT"
        date = "2025-05-26"
        reference = "CVE-2025-52917"
    strings:
        $api_path = "/api/device/"
        $api_path2 = "/api/provisioning/"
    condition:
        any of ($api_path*) and #api_path > 100
}

Sigma Rule

title: Yealink RPS API Enumeration
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects high volume of requests to Yealink RPS API endpoints
author: Valters IT
date: 2025-05-26
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-stem:
            - "/api/device/*"
            - "/api/provisioning/*"
    condition: selection | count() by src_ip > 100
falsepositives:
    - Legitimate provisioning traffic
level: medium

Suricata Rule

alert http any any -> any any (msg:"Yealink RPS API Enumeration Attempt"; flow:to_server; content:"/api/device/"; http_uri; threshold: type both, track by_src, count 100, seconds 60; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Apply rate limiting to all API endpoints. Use a reverse proxy or API gateway to enforce limits.
  2. Short-term: Update to the latest Yealink RPS API version (post-2025-05-26).
  3. Long-term: Implement authentication for API access. Use API keys or OAuth tokens.
  4. Monitoring: Enable logging and alerting for anomalous API request 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
Yealink API

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-52917/ · 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.