critical CVSS 9.4

CVE-2025-48952·PHP vulnerability

NetAlertX is a network, presence scanner, and alert framework. Prior to version 25.6.7, a vulnerability in the authentication logic allows users to bypass password verification using SHA-256 magic hashes, due to loose comparison in PHP. In vulnerable versions of the application, a password comparison is performed using the `==` operator at line 40 in front/index.php. This introduces a security issue where specially crafted "magic hash" values that evaluate to true in a loose comparison can bypass authentication. Because of the use of `==` instead of the strict `===`, different strings that begin with 0e and are followed by only digits can be interpreted as scientific notation (i.e., zero) and treated as equal. This issue falls under the Login Bypass vulnerability class. Users with certain "weird" passwords that produce magic hashes are particularly affected. Services relying on this logic are at risk of unauthorized access. Version 25.6.7 fixes the vulnerability.

Severity
critical
Software
PHP
Fixed in
25.6.7
Published
2025-07-04

Affected versions

Until: 25.6.7

Fixed in: 25.6.7

How to fix this CVE

Update PHP to version 25.6.7 or later to remediate the authentication bypass vulnerability caused by loose type comparison in password verification logic. This critical flaw allows attackers to bypass login mechanisms by leveraging PHP's type juggling with specially crafted hash values. Immediately patch all systems running vulnerable versions of PHP to restore proper authentication enforcement.

sudo dnf update php

Defensia detects this vulnerability

What an exploitation attempt looks like

Sample log line indicative of exploitation attempts:

POST /front/index.php with password parameters containing values matching the pattern ^0e[0-9]+$ or similar magic hash formats; successful authentication without valid credential submission; repeated login attempts with hash-like password strings

WAF mitigation (if patching is not yet possible)

Add this rule to your WAF to block exploitation attempts while you schedule the patch.

Implement strict input validation on login forms to reject password parameters that match scientific notation patterns (^0e[0-9]+$). Deploy a Web Application Firewall rule to detect and block authentication requests with suspicious password formatting or multiple failed logins followed by immediate success.

How to check if you are affected

  1. Run `php --version` to check the currently installed PHP version and confirm if it is below 25.6.7
  2. Check your application's authentication implementation for use of loose comparison operators (`==` instead of `===`) in password verification routines, particularly in front/index.php or equivalent login handlers
  3. Search web server access logs for authentication attempts with unusual password patterns or repeated failed logins followed by successful access without credential changes: `grep -E 'POST.*login|POST.*auth' /var/log/apache2/access.log | tail -100`
  4. Verify the patch was applied by running `php --version` again and confirming the version is 25.6.7 or higher, then restart your web server with `sudo systemctl restart apache2` or `sudo systemctl restart nginx`

FAQ

What is CVE-2025-48952?

CVE-2025-48952 is a critical authentication bypass vulnerability in PHP's password comparison logic that exploits loose type comparison operators. Attackers can craft specially formatted hash values (magic hashes) that evaluate as equal to legitimate passwords, bypassing login protections entirely.

Is CVE-2025-48952 being actively exploited?

According to CISA KEV data, CVE-2025-48952 is not currently listed as actively exploited in the wild, and no public exploits are available. However, the critical severity rating warrants immediate patching.

What versions of PHP are affected by CVE-2025-48952?

All versions of PHP prior to 25.6.7 are vulnerable to this authentication bypass. The exact earliest affected version is unknown, but upgrading to 25.6.7 or later resolves the issue.

How do I check if my server is vulnerable to CVE-2025-48952?

Run `php --version` to retrieve your installed version. If the version number is below 25.6.7, your system is vulnerable and requires immediate patching.

Does Defensia detect CVE-2025-48952?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PHP is installed on a monitored server, CVE-2025-48952 will appear in your dashboard with remediation steps.

Related PHP CVEs

CVE-2026-28289CVSS 10FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. A patch bypass vulnerability for CVE-2026-27636 in FreeScout 1.8.206 and earlier allows any authenticated user with file upload permissions to achieve Remote Code Execution (RCE) on the server by uploading a malicious .htaccess file using a zero-width space character prefix to bypass the security check. The vulnerability exists in the sanitizeUploadedFileName() function in app/Http/Helper.php. The function contains a Time-of-Check to Time-of-Use (TOCTOU) flaw where the dot-prefix check occurs before sanitization removes invisible characters. This vulnerability is fixed in 1.8.207.
CVE-2025-46348CVSS 10YesWiki is a wiki system written in PHP. Prior to version 4.5.4, the request to commence a site backup can be performed and downloaded without authentication. The archives are created with a predictable filename, so a malicious user could create and download an archive without being authenticated. This could result in a malicious attacker making numerous requests to create archives and fill up the file system, or by downloading the archive which contains sensitive site information. This issue has been patched in version 4.5.4.
CVE-2025-47916CVSS 10Invision Community 5.0.0 before 5.0.7 allows remote code execution via crafted template strings to themeeditor.php. The issue lies within the themeeditor controller (file: /applications/core/modules/front/system/themeeditor.php), where a protected method named customCss can be invoked by unauthenticated users. This method passes the value of the content parameter to the Theme::makeProcessFunction() method; hence it is evaluated by the template engine. Accordingly, this can be exploited by unauthenticated attackers to inject and execute arbitrary PHP code by providing crafted template strings.
CVE-2025-25174CVSS 10Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion') vulnerability in beeteam368 BeeTeam368 Extensions beeteam368-extensions allows PHP Local File Inclusion.This issue affects BeeTeam368 Extensions: from n/a through <= 1.9.4.
CVE-2025-62521CVSS 10ChurchCRM is an open-source church management system. Prior to version 5.21.0, a pre-authentication remote code execution vulnerability in ChurchCRM's setup wizard allows unauthenticated attackers to inject arbitrary PHP code during the initial installation process, leading to complete server compromise. The vulnerability exists in `setup/routes/setup.php` where user input from the setup form is directly concatenated into a PHP configuration template without any validation or sanitization. Any parameter in the setup form can be used to inject PHP code that gets written to `Include/Config.php`, which is then executed on every page load. This is more severe than typical authenticated RCE vulnerabilities because it requires no credentials and affects the installation process that administrators must complete. Version 5.21.0 patches the issue.

References

Track CVEs across your fleet automatically

Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-48952. Free for 1 server.

Get started free