CVE-2026-78183: DBD::Pg version 3.21.0 for Perl has a heap out-of-bounds write in quote_float
DBD::Pg version 3.21.0 for Perl has a heap out-of-bounds write in quote_float.
quote_float() allocates the length of the string + 1, which is the size of the bare numeric symbol plus NULL. But for special literals NaN, Inf, +Inf, -Inf, Infinity, +Infinity, -Infinity it emits the literal surrounded by quotes plus NULL, which is length + 3 bytes. Every recognised literal (case-insensitive) overflows by 2 bytes, a single quote and a NULL.
This can be reached by the $dbh->quote method, for example
$dbh->quote( "Infinity", DBI::SQL_NUMERIC ).
This regression was introduced in 3.21.0 by the quote.c rewrite.
Security readout for executives and security teams
Plain-English summary
DBD::Pg 3.21.0 can corrupt memory when a Perl application quotes certain special numeric values. Affected applications could crash or potentially suffer broader compromise, although the supplied sources do not demonstrate real-world exploitation. Exposure depends on whether application-controlled values reach the vulnerable numeric-quoting path.
Executive priority
Treat confirmed 3.21.0 deployments as an urgent remediation item, especially for internet-facing applications handling untrusted data. Prioritize dependency discovery and path validation immediately. The critical score warrants speed, but there is no supplied evidence of active exploitation.
Technical view
The 3.21.0 quote_float rewrite allocates space for the unquoted value and terminator, but writes quoted special floating-point literals requiring two additional bytes. This causes a two-byte heap out-of-bounds write. The path is reachable through DBD::Pg numeric quoting and is classified as CWE-787.
Likely exposure
Exposure is limited to deployments loading DBD::Pg 3.21.0 and exercising the affected numeric-quoting path. Risk is greatest where remote, unauthenticated input can influence values passed into that path. The supplied record marks other versions unaffected by default, but organizations should verify exact deployed versions and vendor guidance.
Exploitation context
The supplied CVSS 3.1 score is 9.8, describing network-reachable, low-complexity, unauthenticated impact. However, application-specific input flow determines practical reachability. The CVE is not identified as KEV, and the supplied sources provide no evidence of active exploitation or a public weaponized exploit.
Researcher notes
The defect is a deterministic two-byte heap overwrite affecting recognized special floating-point literals case-insensitively. It was introduced by the 3.21.0 quote.c rewrite. Memory corruption establishes serious potential impact, but the supplied evidence does not establish reliable code execution, exploitation in the wild, or reachability in every application.
Mitigation direction
Remove DBD::Pg 3.21.0 from affected deployments using the vendor-published corrected release or patch.
Review the vendor advisory and 3.21.1 release notes before selecting the remediation package.
Restrict untrusted input from reaching numeric quoting until remediation is deployed.
Rebuild and redeploy applications whose packaged dependencies include the vulnerable version.
Validation and detection
Inventory installed, vendored, containerized, and locked DBD::Pg versions across production and build environments.
Trace whether externally influenced values can reach DBD::Pg numeric quoting.
Confirm remediated processes no longer load DBD::Pg 3.21.0.
Run existing application and database regression tests after updating.
Review crash and memory-corruption telemetry for affected application processes.
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 · low confidence lookup
CWE-787: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. 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.
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.
1CVSS vectors
3Timeline events
2ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
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.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-787 · source CWE mapping
Out-of-bounds Write
Out-of-bounds Write represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.