Cloudanix VulnDB

CVE-2023-30258

Critical · 9.8

CVSS

9.8

EPSS

94.3%

Published

Jun 23, 2023

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Attend

Attackers can take over vulnerable MagnusBilling servers remotely without needing a password, potentially disrupting billing or phone services and exposing sensitive data.

Weaponized Wormable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

CVE-2023-30258 is an unauthenticated command injection vulnerability in MagnusBilling 6.x and 7.x. A remote attacker can send a crafted HTTP request that causes attacker-controlled input to be interpreted as operating system commands by the application. Because exploitation requires no authentication, no user interaction, and has low attack complexity, successful exploitation can result in full compromise of the application server, including arbitrary command execution, data access, modification of application behavior, deployment of malware, persistence, and service disruption.

Why it matters to the business

This vulnerability can allow an internet-based attacker to take over a MagnusBilling server without credentials. For organizations using MagnusBilling for VoIP billing or telecom operations, compromise could lead to customer data exposure, fraudulent calling activity, billing manipulation, outage of calling services, infrastructure pivoting, and regulatory or contractual impact. The EPSS score is very high and exploit maturity is listed as weaponized, meaning exposed instances should be treated as likely targets even though the vulnerability is not currently listed in CISA KEV.

How an attack unfolds

An attacker first identifies an internet-accessible MagnusBilling 6.x or 7.x instance, commonly through web fingerprinting, exposed login pages, HTTP headers, known paths, or mass scanning. The attacker then sends a specially crafted unauthenticated HTTP request to a vulnerable endpoint where user-supplied input is passed unsafely into an operating system command. The injected shell metacharacters or command payload are executed by the server under the privileges of the web application process. After confirming command execution, the attacker may download additional tooling, establish a reverse shell, enumerate configuration files and credentials, access billing and customer data, manipulate call routing or billing records, create persistence, or use the host as a foothold for further network activity. Because weaponized exploitation is available and the EPSS score is high, attacks may occur through automated scanning and exploitation rather than targeted manual intrusion only.

How to fix it

Upgrade MagnusBilling to a fixed release or apply the upstream patch that includes commit ccff9f6370f530cc41ef7de2e31d7590a0fdb8c3 for magnussolution/magnusbilling7. If using MagnusBilling 6.x or 7.x from source, verify the vulnerable code path has been updated rather than relying only on version labels. Where immediate upgrade is not possible, restrict access to the MagnusBilling web interface using VPN, allowlisted management IPs, reverse-proxy access controls, or firewall rules; disable unnecessary exposed endpoints; block outbound command-and-control egress from the server; run the application with least-privilege operating system permissions; and monitor for command execution attempts. Because this is unauthenticated remote command execution with weaponized exploit availability, mitigation by network exposure reduction should be temporary and should not replace patching.

How to confirm the fix worked

Confirm the deployed MagnusBilling code includes the fixed upstream commit ccff9f6370f530cc41ef7de2e31d7590a0fdb8c3 or a vendor release containing that change. Validate that no internet-accessible vulnerable MagnusBilling 6.x or 7.x instance remains exposed by performing authenticated asset inventory, external attack surface scanning, and version or source-code verification. Review web server and application logs for suspicious unauthenticated requests to MagnusBilling endpoints containing shell metacharacters, command separators, encoded payloads, or callback attempts. After patching, confirm that previously vulnerable request patterns no longer result in command execution and that the application returns safe errors or rejects malicious input. Also verify file integrity, running processes, scheduled jobs, web directories, and user accounts to ensure the system was not already compromised before remediation.

Typical attack path

  1. Scan the internet or target ranges for exposed MagnusBilling 6.x or 7.x web interfaces.
  2. Fingerprint the application using HTTP responses, page content, static assets, or known MagnusBilling paths.
  3. Send a crafted unauthenticated HTTP request containing command-injection syntax to the vulnerable endpoint.
  4. Validate command execution using a benign command, DNS callback, HTTP callback, or timing behavior.
  5. Execute follow-on commands to enumerate the host, application configuration, users, network access, and stored credentials.
  6. Deploy a web shell, reverse shell, downloader, or persistence mechanism if write permissions and egress paths are available.
  7. Access or alter billing, customer, VoIP routing, or account data; potentially conduct toll fraud or disrupt telecom services.
  8. Use the compromised server to pivot, proxy traffic, mine cryptocurrency, distribute malware, or conduct further attacks.

How to detect it

To determine whether exploitation has already occurred, review HTTP access logs from web servers and reverse proxies, MagnusBilling application logs, PHP-FPM or Apache error logs, EDR/process telemetry, system authentication logs, shell histories, cron/systemd persistence locations, DNS logs, proxy logs, and firewall egress records. Focus on unauthenticated requests to MagnusBilling endpoints containing command separators or encoded shell syntax such as semicolons, pipes, backticks, $(), %3b, %7c, or URL-encoded newline characters. Look for web requests followed immediately by child process execution from the web server user, such as sh, bash, curl, wget, python, perl, nc, ncat, socat, busybox, or chmod. Investigate outbound connections from the server shortly after suspicious requests, especially DNS callbacks, HTTP downloads, reverse-shell connections, cryptocurrency mining pools, or connections to unfamiliar VPS/cloud IPs. On the host, search for unexpected files in web-writable directories, recently modified PHP files, web shells, new scheduled tasks, new local users, SSH key changes, suspicious binaries in /tmp or /var/tmp, and modified startup scripts. Because public reporting for this input does not provide a single unique exploit string, detections should combine MagnusBilling request context with generic command-injection and post-exploitation artifacts.

  • ;id
  • %3Bid
  • |id
  • %7Cid
  • `id`
  • %60id%60
  • $(id)
  • %24%28id%29
  • ;whoami
  • %3Bwhoami
  • |whoami
  • %7Cwhoami
  • ;uname -a
  • %3Buname%20-a
  • ;cat /etc/passwd
  • %3Bcat%20/etc/passwd
  • ;curl
  • %3Bcurl%20
  • ;wget
  • %3Bwget%20
  • /bin/sh
  • /bin/bash
  • /tmp/
  • /var/tmp/
  • nc -e
  • ncat -e
  • bash -i
  • /dev/tcp/
  • php -r
  • python -c
  • perl -e
  • chmod +x
  • crontab -e
  • /etc/cron.d/
  • /etc/cron.hourly/
  • /etc/systemd/system/
  • /var/www/html/
  • /var/log/apache2/access.log
  • /var/log/nginx/access.log
  • /var/log/httpd/access_log

What your security team should do

  • Immediately identify all MagnusBilling 6.x and 7.x deployments, especially internet-facing systems.
  • Prioritize patching or upgrading to a version containing commit ccff9f6370f530cc41ef7de2e31d7590a0fdb8c3 because exploitation is weaponized and EPSS is very high.
  • Restrict public access to MagnusBilling management and application interfaces until patching and compromise assessment are complete.
  • Perform threat hunting on web logs, application logs, shell history, process execution telemetry, EDR alerts, outbound DNS/HTTP logs, and firewall/proxy logs for signs of command injection and post-exploitation activity.
  • Inspect affected servers for web shells, unauthorized files, new users, cron jobs, modified startup scripts, suspicious binaries, reverse shells, cryptominers, and unexpected outbound connections.
  • Rotate credentials and secrets stored on or accessible from any vulnerable MagnusBilling server, including database, SIP/VoIP provider, administrator, and API credentials, if exploitation is suspected or cannot be ruled out.
  • Review telecom billing, call routing, account balances, and call detail records for fraud or unauthorized manipulation following any suspected compromise.
  • Add WAF, reverse-proxy, or IDS detections for command-injection patterns targeting MagnusBilling endpoints, but do not rely on filtering as the primary fix.
  • Segment MagnusBilling servers from sensitive internal systems and restrict outbound egress to only required services.
  • Document remediation status and monitor for renewed scanning or exploitation attempts after patching.

The record

Command Injection vulnerability in MagnusSolution magnusbilling 6.x and 7.x allows remote attackers to run arbitrary commands via unauthenticated HTTP request.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities