Skip to content
Vulnerabilities

PHPNuxBill 9.3 CVSS Bug Lets Attackers Read Passwords and Guess OTPs Without Limits in Versions Through 2025.3.20

A critical flaw in PHPNuxBill through version 2025.3.20 allows attackers to guess OTP codes without limits and read new passwords from server responses.

Illustration: A tangled knot of fiber optic cables lies on a metal desk.
AI-generated illustration: DataSafe Times

Key points

  • CVE-2026-108109 affects PHPNuxBill versions up to 2025.3.20 with a CVSS score of 9.3.
  • The vulnerability resides in system/controllers/forgot.php within the customer password reset flow.
  • Attackers can brute-force the six-digit OTP code without triggering any attempt limits or account lockouts.

The short version

  • An unauthenticated attacker can hijack customer accounts by guessing the password reset code.
  • The system returns the newly set password in the HTTP response after a successful guess.
  • This issue impacts PHPNuxBill releases through version 2025.3.20, including the HotspotBilling product.

The details

The National Vulnerability Database lists CVE-2026-108109 as a critical issue with a CVSS score of 9.3. The flaw exists in the customer password reset functionality located in the system/controllers/forgot.php file. According to the NVD record, the vulnerability allows unauthenticated attackers to perform brute-force attacks against the six-digit one-time password code required for resets. There are no attempt limits or lockout mechanisms in place to stop these guesses.

An attacker who knows a valid customer username can continuously guess the OTP code. Once the correct code is entered, the server processes the password change. The application then returns the newly set password directly in the HTTP response body. This behavior allows the attacker to read the credentials and hijack the account immediately. The weakness is categorized under CWE-307, which relates to incorrect default permissions.

The context

PHPNuxBill is a billing and support automation system used by hosting providers. The HotspotBilling product, which is affected by this issue, is built on the PHPNuxBill platform. Versions up to and including 2025.3.20 contain the vulnerable code. The issue arises from the lack of rate limiting on the password reset endpoint and the insecure handling of sensitive data in the response.

What should you do?

System administrators should audit their PHPNuxBill installations to determine the current version. If the installation is at or below version 2025.3.20, the system is vulnerable. Review access logs for the forgot.php endpoint to identify potential brute-force attempts. Monitor for unusual password reset activity from single IP addresses.

Background: Rate limiting

Use this checklist to configure rate limiting that blocks abuse without breaking legitimate user flows. Group items by configuration, identification, and response handling. Each item includes a brief reason to ensure you implement controls that adapt to evolving attack patterns rather than static thresholds.

Read the full guide: Rate Limiting Implementation Checklist for Secure APIs

What to do and how to stay safe: PHPNuxBill

  • Check your PHPNuxBill version and compare it against the affected range up to 2025.3.20.
  • Monitor server logs for repeated requests to the password reset endpoint from single sources.
  • Implement external rate limiting at the firewall or web application firewall level for reset flows.
  • Enforce multi-factor authentication for administrative accounts to limit the impact of credential theft.

Step-by-step guide: Automatic Software Updates: 8 FAQs on Security and Risk

General security guidance from the DataSafe Times newsroom. It is not confirmed advice from the organisations named in this story.

Frequently asked questions

Which versions of PHPNuxBill are affected by CVE-2026-108109?

All versions of PHPNuxBill up to and including version 2025.3.20 are affected.

How does an attacker exploit this vulnerability?

Attackers brute-force the six-digit OTP code in the password reset flow without facing lockouts.

Is authentication required to exploit this flaw?

No, the vulnerability allows unauthenticated attackers to perform the brute-force attack.

Sources

  1. CVE Program
  2. NVD
PHPNuxBillCVE-2026-108109HotspotBillingCWE-307Account Takeover

Related stories

Detecting Memory Corruption Vulnerabilities in Production Systems

Memory corruption often manifests as silent data degradation or intermittent crashes rather than immediate system failures, requiring deep state analysis for detection.

Cybersecurity news without the noiseGet Alerts