CVE-2025-14180: CWE-476 NULL Pointer Dereference in PHP Group PHP
In PHP versions 8.1.* before 8.1.34, 8.2.* before 8.2.30, 8.3.* before 8.3.29, 8.4.* before 8.4.16, 8.5.* before 8.5.1 when using the PDO PostgreSQL driver with PDO::ATTR_EMULATE_PREPARES enabled, an invalid character sequence (such as \x99) in a prepared statement parameter may cause the quoting function PQescapeStringConn to return NULL, leading to a null pointer dereference in pdo_parse_params() function. This may lead to crashes (segmentation fault) and affect the availability of the target server.
AI Analysis
Technical Summary
CVE-2025-14180 is a null pointer dereference vulnerability identified in multiple PHP versions (8.1.* before 8.1.34, 8.2.* before 8.2.30, 8.3.* before 8.3.29, 8.4.* before 8.4.16, and 8.5.* before 8.5.1) when using the PDO PostgreSQL driver with the PDO::ATTR_EMULATE_PREPARES attribute enabled. The vulnerability arises when a prepared statement parameter contains an invalid character sequence, such as \x99. In this scenario, the PostgreSQL client library function PQescapeStringConn, responsible for escaping strings safely for SQL queries, returns NULL due to the invalid input. The PHP function pdo_parse_params() does not handle this NULL return properly, leading to a null pointer dereference. This causes the PHP process to crash with a segmentation fault, resulting in a denial-of-service condition affecting the availability of the web server or application. The vulnerability does not require authentication or user interaction but has a high attack complexity, as the attacker must supply specific invalid input to trigger the fault. No known exploits have been reported in the wild yet. The issue is tracked under CWE-476 (NULL Pointer Dereference) and has a CVSS 4.0 base score of 8.2, indicating high severity. The root cause is improper error handling of the escaping function's output in the context of emulated prepared statements, a feature that simulates prepared statements in PHP by escaping parameters client-side rather than using native server-side prepares. This vulnerability highlights the risks of relying on client-side emulation for security-critical operations like SQL query preparation.
Potential Impact
The primary impact of CVE-2025-14180 is on the availability of PHP-based web applications using PostgreSQL with PDO and emulated prepares enabled. Successful exploitation causes the PHP process to crash, leading to denial-of-service (DoS) conditions. For European organizations, this can disrupt critical online services, including e-commerce platforms, government portals, and financial applications that rely on PHP and PostgreSQL. The vulnerability does not directly compromise confidentiality or integrity but can be leveraged to cause service outages, potentially affecting business continuity and user trust. In sectors with high reliance on web services, such as banking, healthcare, and public administration, such outages could have cascading operational and reputational consequences. Additionally, repeated exploitation attempts could increase server load and complicate incident response. Since no authentication or user interaction is required, the attack surface is broad, potentially allowing remote attackers to trigger crashes via crafted HTTP requests. The high attack complexity somewhat limits exploitation but does not eliminate the risk, especially from skilled adversaries or automated scanners. Organizations with large PHP deployments and PostgreSQL backends are particularly vulnerable, especially if they have not applied recent patches or mitigations.
Mitigation Recommendations
To mitigate CVE-2025-14180, European organizations should prioritize upgrading PHP to the fixed versions: 8.1.34 or later, 8.2.30 or later, 8.3.29 or later, 8.4.16 or later, or 8.5.1 or later. If immediate upgrading is not feasible, a practical workaround is to disable PDO::ATTR_EMULATE_PREPARES for PostgreSQL connections, forcing the use of native prepared statements which do not trigger this vulnerability. This can be done by setting the PDO attribute explicitly in application code or configuration. Additionally, input validation and sanitization should be enhanced to prevent invalid character sequences from reaching the database layer. Web application firewalls (WAFs) can be configured to detect and block suspicious payloads containing invalid byte sequences. Monitoring PHP error logs and server crash reports can help detect exploitation attempts early. Organizations should also review their incident response plans to handle potential denial-of-service scenarios caused by this vulnerability. Finally, maintaining an up-to-date asset inventory to identify all PHP instances using PostgreSQL with emulated prepares enabled is critical for comprehensive remediation.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Poland, Sweden
CVE-2025-14180: CWE-476 NULL Pointer Dereference in PHP Group PHP
Description
In PHP versions 8.1.* before 8.1.34, 8.2.* before 8.2.30, 8.3.* before 8.3.29, 8.4.* before 8.4.16, 8.5.* before 8.5.1 when using the PDO PostgreSQL driver with PDO::ATTR_EMULATE_PREPARES enabled, an invalid character sequence (such as \x99) in a prepared statement parameter may cause the quoting function PQescapeStringConn to return NULL, leading to a null pointer dereference in pdo_parse_params() function. This may lead to crashes (segmentation fault) and affect the availability of the target server.
AI-Powered Analysis
Technical Analysis
CVE-2025-14180 is a null pointer dereference vulnerability identified in multiple PHP versions (8.1.* before 8.1.34, 8.2.* before 8.2.30, 8.3.* before 8.3.29, 8.4.* before 8.4.16, and 8.5.* before 8.5.1) when using the PDO PostgreSQL driver with the PDO::ATTR_EMULATE_PREPARES attribute enabled. The vulnerability arises when a prepared statement parameter contains an invalid character sequence, such as \x99. In this scenario, the PostgreSQL client library function PQescapeStringConn, responsible for escaping strings safely for SQL queries, returns NULL due to the invalid input. The PHP function pdo_parse_params() does not handle this NULL return properly, leading to a null pointer dereference. This causes the PHP process to crash with a segmentation fault, resulting in a denial-of-service condition affecting the availability of the web server or application. The vulnerability does not require authentication or user interaction but has a high attack complexity, as the attacker must supply specific invalid input to trigger the fault. No known exploits have been reported in the wild yet. The issue is tracked under CWE-476 (NULL Pointer Dereference) and has a CVSS 4.0 base score of 8.2, indicating high severity. The root cause is improper error handling of the escaping function's output in the context of emulated prepared statements, a feature that simulates prepared statements in PHP by escaping parameters client-side rather than using native server-side prepares. This vulnerability highlights the risks of relying on client-side emulation for security-critical operations like SQL query preparation.
Potential Impact
The primary impact of CVE-2025-14180 is on the availability of PHP-based web applications using PostgreSQL with PDO and emulated prepares enabled. Successful exploitation causes the PHP process to crash, leading to denial-of-service (DoS) conditions. For European organizations, this can disrupt critical online services, including e-commerce platforms, government portals, and financial applications that rely on PHP and PostgreSQL. The vulnerability does not directly compromise confidentiality or integrity but can be leveraged to cause service outages, potentially affecting business continuity and user trust. In sectors with high reliance on web services, such as banking, healthcare, and public administration, such outages could have cascading operational and reputational consequences. Additionally, repeated exploitation attempts could increase server load and complicate incident response. Since no authentication or user interaction is required, the attack surface is broad, potentially allowing remote attackers to trigger crashes via crafted HTTP requests. The high attack complexity somewhat limits exploitation but does not eliminate the risk, especially from skilled adversaries or automated scanners. Organizations with large PHP deployments and PostgreSQL backends are particularly vulnerable, especially if they have not applied recent patches or mitigations.
Mitigation Recommendations
To mitigate CVE-2025-14180, European organizations should prioritize upgrading PHP to the fixed versions: 8.1.34 or later, 8.2.30 or later, 8.3.29 or later, 8.4.16 or later, or 8.5.1 or later. If immediate upgrading is not feasible, a practical workaround is to disable PDO::ATTR_EMULATE_PREPARES for PostgreSQL connections, forcing the use of native prepared statements which do not trigger this vulnerability. This can be done by setting the PDO attribute explicitly in application code or configuration. Additionally, input validation and sanitization should be enhanced to prevent invalid character sequences from reaching the database layer. Web application firewalls (WAFs) can be configured to detect and block suspicious payloads containing invalid byte sequences. Monitoring PHP error logs and server crash reports can help detect exploitation attempts early. Organizations should also review their incident response plans to handle potential denial-of-service scenarios caused by this vulnerability. Finally, maintaining an up-to-date asset inventory to identify all PHP instances using PostgreSQL with emulated prepares enabled is critical for comprehensive remediation.
Affected Countries
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- php
- Date Reserved
- 2025-12-06T06:43:11.174Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 695450bbdb813ff03e2bf81b
Added to database: 12/30/2025, 10:22:51 PM
Last enriched: 12/30/2025, 11:42:04 PM
Last updated: 2/6/2026, 5:10:05 PM
Views: 114
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2025-13523: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in Mattermost Mattermost Confluence Plugin
HighCVE-2026-2103: CWE-321 in Infor SyteLine ERP
HighCVE-2026-2058: SQL Injection in mathurvishal CloudClassroom-PHP-Project
MediumCVE-2026-25556: CWE-415 Double Free in Artifex Software MuPDF
MediumCVE-2026-2057: SQL Injection in SourceCodester Medical Center Portal Management System
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.