Skip to main content

PHPNuxBill EUVDEUVD-2026-95808

| CVE-2026-108107 CRITICAL
SQL Injection (CWE-89)
2026-10-09 VulnCheck GHSA-8g3m-4qjp-58m6
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed radius.php endpoint
  2. Delivery
    Send crafted macAddr/nasid/username parameter
  3. Exploit
    Trigger whereRaw() SQL injection
  4. Execution
    Time-based blind extraction of rows
  5. Impact
    Exfiltrate 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

phpnuxbill 0 ≤2025.3.20

Affected Packages

euvd phpnuxbill no fix

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

Vendor (VulnCheck) PRIMARY 9.3 CRITICAL
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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.

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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Low
niche open-source ISP/hotspot billing app, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy