☠️
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:N/I:L/A:N 🐛 CWE-295
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-52919

CVE-2025-52919 Supply Chain Attack in Yealink
📅 PUBLISHED: 2025-06-21 00:00 UTC 🔄 UPDATED: 2026-08-12 14:53 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.11%
👁️
0.11% probability
2.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
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: N Confidentiality None
I: L Integrity Low
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-52919 is a medium-severity vulnerability in Yealink RPS (Remote Provisioning Server) that allows the upload of invalid certificates due to improper validation of certificate content. This flaw could enable an attacker to upload a malformed or self-signed certificate, potentially leading to man-in-the-middle attacks or service disruption. The vulnerability has a CVSS score of 4.3 and an EPSS score of 0.0%, indicating low exploitation likelihood at this time. No public exploit code or patch is available.

⚡ 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 NPM, PyPI, Go, or Ruby packages. It affects Yealink RPS, a proprietary provisioning server used in VoIP environments.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: Low
  • Availability Impact: None

The threat level is considered medium due to the low integrity impact and lack of public exploit code. However, the vulnerability could be chained with other attacks to compromise device provisioning.

Deep Dive & Mechanics

The Yealink RPS certificate upload function fails to validate the certificate's chain of trust, expiration, or format. This allows an attacker to upload a self-signed or expired certificate that the server will accept. Once uploaded, the invalid certificate could be used to impersonate the provisioning server, intercepting or modifying configuration data sent to Yealink devices.

The vulnerability lies in the server-side certificate validation logic. The function likely checks only the file extension or MIME type but does not verify the certificate's cryptographic properties or trust chain. This is a classic CWE-295 (Improper Certificate Validation) issue.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

def upload_certificate(file):
    if file.content_type == "application/x-pem-file":
        save_certificate(file)
        return "Certificate uploaded successfully"
    else:
        return "Invalid file type"

Patched Code (Conceptual):

def upload_certificate(file):
    cert = load_certificate(file.read())
    if not validate_certificate_chain(cert):
        return "Invalid certificate chain"
    if not check_certificate_expiry(cert):
        return "Certificate expired"
    save_certificate(cert)
    return "Certificate uploaded successfully"

The patched version adds proper validation of the certificate chain and expiration date.

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy a Yealink RPS instance (version before 2025-05-26).
  2. Generate a self-signed certificate using OpenSSL:
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
    
  3. Upload the certificate via the web interface or API:
    curl -X POST -F "certificate=@cert.pem" http://target-rps/upload
    
  4. Verify the server accepts the invalid certificate.

Exploitation:

  • Use the uploaded certificate to perform a man-in-the-middle attack on provisioning traffic.
  • Modify configuration files to redirect devices to a malicious server.

Blue Team

Detection:

  • Monitor for uploads of certificates that do not match known trusted CAs.
  • Alert on certificates with unusual subject names or expiration dates.
  • Use network monitoring to detect anomalous provisioning traffic.

Hunting:

  • Search logs for certificate upload events from unknown IPs.
  • Check for certificates with self-signed or untrusted root CAs.

Indicators of Compromise (IOCs)

  • File Hashes: (None available)
  • Network Indicators:
    • Unusual certificate upload requests to /upload endpoint.
    • Provisioning traffic to unexpected IP addresses.
  • System Indicators:
    • Presence of self-signed certificates in the RPS certificate store.
    • Log entries showing certificate validation failures.

Detection Engineering

YARA Rule

rule CVE_2025_52919_Certificate_Upload {
    meta:
        description = "Detects upload of invalid certificates to Yealink RPS"
        author = "Valters IT"
        date = "2025-05-26"
        reference = "CVE-2025-52919"
    strings:
        $cert_header = "-----BEGIN CERTIFICATE-----"
        $upload_path = "/upload"
    condition:
        $cert_header and $upload_path
}

Sigma Rule

title: Yealink RPS Invalid Certificate Upload
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects upload of invalid certificates to Yealink RPS
author: Valters IT
date: 2025-05-26
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/upload'
        cs-content-type: 'application/x-pem-file'
    condition: selection
falsepositives:
    - Legitimate certificate updates
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-52919 Yealink RPS Invalid Certificate Upload"; flow:to_server; content:"POST"; http_method; content:"/upload"; http_uri; content:"application/x-pem-file"; http_content_type; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Actions:

    • Restrict access to the certificate upload function to trusted IPs only.
    • Implement network segmentation to isolate the RPS from untrusted networks.
    • Monitor logs for unauthorized certificate upload attempts.
  2. Long-term Fix:

    • Apply vendor patch when available (expected after 2025-05-26).
    • Implement certificate validation using a trusted CA list.
    • Use code signing and integrity checks for uploaded certificates.
  3. Workarounds:

    • Disable the certificate upload feature if not required.
    • Use a reverse proxy to validate certificates before forwarding to RPS.

Valters IT

👁️ 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 server

💣 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-52919/ · 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.