CVE-2025-14179: SQL injection in pdo_firebird via NUL bytes in quoted strings
In PHP versions 8.2.* before 8.2.31, 8.3.* before 8.3.31, 8.4.* before 8.4.21, and 8.5.* before 8.5.6, the PDO Firebird driver improperly handles NUL bytes when preparing SQL queries. During token-by-token query construction, a string token containing a NUL byte is copied via strncat(), which stops at the NUL byte, dropping the closing quote and causing subsequent SQL tokens to be interpreted as part of the string. This allows SQL injection when attacker-controlled values are quoted via PDO::quote() and embedded in SQL statements.
Security readout for executives and security teams
Plain-English summary
This flaw affects PHP applications that use the PDO Firebird driver. A specially crafted quoted value containing a NUL byte can be mishandled, allowing SQL injection in vulnerable query construction patterns. Successful exploitation could expose, change, or disrupt database data.
Executive priority
Prioritize remediation for internet-facing or business-critical PHP applications that use Firebird through PDO. The issue is high impact but exposure is specific, so rapid inventory should come before broad emergency action.
Technical view
In pdo_firebird, token-by-token SQL construction can copy a string token with strncat(), stopping at a NUL byte and dropping the closing quote. Later SQL tokens may then be interpreted incorrectly, creating SQL injection when attacker-controlled values are quoted with PDO::quote() and embedded in statements.
Likely exposure
Exposure is likely limited to PHP deployments using the PDO Firebird driver with affected PHP branches 8.2, 8.3, 8.4, or 8.5, especially code that embeds PDO::quote() output into SQL. Organizations not using Firebird through PDO are unlikely to be affected.
Exploitation context
The CVE record marks this high severity with CVSS 8.1 and high complexity. The provided bundle says KEV is false and includes no cited evidence of active exploitation. Practical risk depends on whether attacker-controlled values reach vulnerable Firebird SQL construction paths.
Researcher notes
The key condition is not generic PHP SQL use; it is pdo_firebird handling of NUL bytes in quoted strings during prepared query construction. Evidence in the bundle supports affected versions and fixed versions, but not public exploitation or distribution-specific patch status beyond linked advisories.
Mitigation direction
Upgrade affected PHP 8.2 deployments to 8.2.31 or later.
Upgrade affected PHP 8.3 deployments to 8.3.31 or later.
Upgrade affected PHP 8.4 deployments to 8.4.21 or later.
Upgrade affected PHP 8.5 deployments to 8.5.6 or later.
If upgrade is delayed, check PHP vendor guidance for supported interim controls.
Prioritize systems where PDO Firebird handles externally supplied input.
Validation and detection
Inventory PHP versions and confirm whether pdo_firebird is installed or enabled.
Identify applications connecting to Firebird databases through PDO.
Review SQL construction paths using PDO::quote() with user-controlled input.
Confirm production runtimes are at or above the fixed PHP versions.
Track vendor and Red Hat advisories for package-specific status.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-89: Database access and collection lookup
Injection into data stores can inform collection, data access, and exfiltration detection reviews. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.