Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed radius.php endpoint
-
DeliverySend crafted macAddr/nasid/username parameter
-
ExploitTrigger whereRaw() SQL injection
-
ExecutionTime-based blind extraction of rows
-
ImpactExfiltrate customer records and credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires network access to the PHPNuxBill radius.php FreeRADIUS REST endpoint and that this endpoint be reachable by the attacker (typically deployed to serve FreeRADIUS accounting/authenticate requests). The specific injectable inputs are the username, macAddr, and nasid request parameters passed to the 'accounting' or 'authenticate' actions, which are interpolated into whereRaw() queries. No authentication is required (PR:N) and no special non-default feature toggle is named in the description - any deployment running radius.php through version 2025.3.20 with the endpoint exposed is affected. The primary limiting factor is endpoint exposure: if radius.php is restricted to the trusted RADIUS/NAS network segment rather than internet-facing, the realistic attack surface is substantially reduced. |
| Impact | This is a genuine high-priority issue, not a CVSS-inflated paper tiger. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes the worst-case exposure profile: network-reachable, low-complexity, no authentication, and no user interaction - meaning any attacker who can reach the radius.php endpoint can attempt exploitation directly. The vulnerability class (CWE-89 SQL injection via whereRaw() string interpolation) is well-understood and reliably exploitable, and the reporting organization (VulnCheck) is a credible intelligence source with a dedicated advisory. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or automated weaponization at this time - the risk is driven by inherent exploitability rather than observed in-the-wild activity. One caveat worth verifying: the description characterizes the flaw as time-based BLIND SQL injection used to EXTRACT records, which implies a confidentiality-dominant impact, yet the supplied CVSS 4.0 vector rates integrity and availability as High (VI:H/VA:H). That full-triad High rating would require stacked/modifying queries that the description does not explicitly confirm - treat the integrity/availability impact as unverified and confirm with the vendor advisory. Net assessment: real and actionable due to unauthenticated network reach, but currently exploitation-status quiet (no KEV/POC/EPSS signal). |
| Exploit ScenarioDerived | A remote, unauthenticated attacker locates an internet-exposed PHPNuxBill FreeRADIUS integration endpoint (radius.php) and sends crafted username, macAddr, or nasid parameters to the accounting or authenticate actions. Because these values are interpolated into whereRaw() queries, the attacker uses time-based blind SQL injection to incrementally extract customer records and stored credentials from the billing database. No public exploit code was identified in the provided data, but the technique is standard and automatable with tools like sqlmap. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Unauthenticated SQL injection in the PHPNuxBill radius.php FreeRADIUS REST endpoint allows remote attackers to read arbitrary data from the application database - including customer records and stored credentials - by injecting crafted username, macAddr, or nasid parameters into the accounting or authenticate actions, which are interpolated directly into whereRaw() queries. All versions through 2025.3.20 are affected per the vendor advisory and CPE data (cpe:2.3:a:hotspotbilling:phpnuxbill:*:*), and exploitation requires only network reachability of radius.php, with no authentication and no user interaction. The supplier-scored CVSS 4.0 vector (9.3) asserts high confidentiality, integrity, and availability impact, whereas our independent assessment scopes the realistic impact to confidentiality loss (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N); no public exploit code or confirmed active exploitation was identified at time of analysis, so the decisive risk factor is whether radius.php is exposed beyond the trusted RADIUS/NAS segment.
RemediationAI
The provided data does not confirm a specific fixed release version, so the first step is to consult the vendor advisory at https://github.com/hotspotbilling/phpnuxbill/security/advisories/GHSA-q8ch-r8cv-q579 and the project repository at https://github.com/hotspotbilling/phpnuxbill to obtain the exact patched version and apply it as soon as it is available; patch availability is not independently confirmed in this dataset, and no fix version should be assumed. Until then, the highest-value compensating control is network segmentation: radius.php only ever needs to be reachable by the FreeRADIUS server or the RADIUS/NAS infrastructure, so restrict it with firewall rules or an ACL that permits only those source addresses on the required port and explicitly deny internet and general user-network access - the trade-off is that misconfigured or mobile/roaming NAS sources will lose authentication and accounting, so the allow-list must be kept current, which is far preferable to leaving the endpoint open. Additional defensive measures, each with caveats: place a WAF or reverse-proxy rule in front of the endpoint to reject SQL metacharacters (single quotes, comment sequences, UNION/SLEEP-style keywords) in the username, macAddr, and nasid parameters, accepting that signature evasion is possible and that legitimate usernames containing special characters may be blocked; if the integration supports it, move from the raw whereRaw() pattern to bound parameters or a patch that does so, since only code-level fixing removes the root cause; and monitor database and web server logs for anomalous SLEEP-like response delays and repeated malformed RADIUS attribute values as a detection backstop, though logging alone does not prevent credential and customer-record disclosure. Because the flaw is unauthenticated and requires no user interaction, treating the endpoint as an untrusted, internet-exposed surface until patched is not advisable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PHPNuxBill is a PHP/MySQL-based hotspot and ISP billing and management platform that commonly integrates with FreeRADIUS for authentication and accounting. The affected component, radius.php, implements the server side of FreeRADIUS's REST module: the NAS forwards Access-Request and Accounting-Request packets, and the REST module relays the corresponding attributes (username, macAddr, nasid, and similar RADIUS fields) as HTTP parameters to actions such as authenticate and accounting. Those parameters are passed unsanitized into the Laravel-style whereRaw() query builder method, which performs no placeholder binding or escaping - the direct root cause of the CWE-89 improper neutralization of special elements used in SQL commands. Because the injected values are embedded into the SQL string, an attacker controlling the RADIUS-supplied attributes controls query structure, enabling time-based blind SQL injection (e.g., conditional SLEEP-style payloads) to enumerate database schemas and exfiltrate rows when error output or result differences are not directly visible. The CVE record and the VulnCheck advisory both cite the vulnerable code path in radius.php (referenced at the 2025.3.13 tag, line 277), and the CPE entry confirms that the whole hotspobbilling:phpnuxbill product line, with no version constraint, is in scope through 2025.3.20.
Know when Phpnuxbill gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Unauthenticated network-reachable SQLi gives AV:N/AC:L/PR:N/UI:N; described time-based blind EXTRACTION supports C:H, while I/A set to N absent evidence of write/stacked-query capability.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
PHPNuxBill through 2025.3.20 contains an unauthenticated SQL injection vulnerability in the radius.php FreeRADIUS REST endpoint that interpolates request parameters into whereRaw() queries. Attackers can send crafted username, macAddr or nasid parameters to the accounting or authenticate actions to extract customer records and credentials via time-based blind SQL injection.
Articles & Coverage 1
Technical POC Analysis
CWE-89, SQL injection.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
PHPNuxBill's FreeRADIUS REST endpoint exposes the billing platform's database to unauthenticated remote reads, putting customer records and stored credentials at risk across all versions through 2025.3.20. Because no vendor patch is available and no public exploit identified at time of analysis, leadership should treat this as an urgent exposure requiring immediate network and database containment. The personnel, regulatory, and customer-trust consequences of a credential or billing-data leak make this a board-visible risk until access to radius.php is tightly restricted or a fixed release is deployed.
No vendor-released patch identified at time of analysis. Restrict network reachability of radius.php to trusted RADIUS infrastructure; block or virtually patch SQL injection attempts on username, macAddr, and nasid; disable unneeded accounting/authenticate actions; run with least-privilege database credentials; monitor and audit database queries and access logs.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
More in Phpnuxbill
View allAccount takeover in PHPNuxBill through 2025.3.20 allows unauthenticated remote attackers who know a valid customer usern
Authentication bypass in PHPNuxBill through 2025.3.20 allows attackers on the adjacent network to log in as any customer
EUVD-2026-95808
GHSA-8g3m-4qjp-58m6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB